dh_demo

DreamHanks demo project
git clone git://git.lair.cx/dh_demo
Log | Files | Refs | README

commit 6e6cfcf3eb7384f295fc0c3ef6bbe22258e917fa
parent ec1d571896e8139b4bb36df90b37af20087f06d7
Author: Yongbin Kim <iam@yongbin.kim>
Date:   Wed, 18 Jan 2023 09:29:10 +0900

feat: 회원가입, 토큰 발급 API 엔드포인트 추가

- DB 지원 추가
- SMTP 메일 전송하는 기능 추가
- 회원가입, 토큰 발급 API 추가

Signed-off-by: Yongbin Kim <iam@yongbin.kim>

Diffstat:
A.idea/dataSources.xml | 13+++++++++++++
A.idea/sqldialects.xml | 7+++++++
M.pnp.cjs | 1424++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
A.yarn/cache/@gar-promisify-npm-1.1.3-ac1a325862-4059f790e2.zip | 0
A.yarn/cache/@mapbox-node-pre-gyp-npm-1.0.10-1811160047-1a98db05d9.zip | 0
A.yarn/cache/@npmcli-fs-npm-2.1.2-08d434e77b-405074965e.zip | 0
A.yarn/cache/@npmcli-move-file-npm-2.0.1-b593d8f741-52dc02259d.zip | 0
A.yarn/cache/@tootallnate-once-npm-2.0.0-e36cf4f140-ad87447820.zip | 0
A.yarn/cache/@types-bcrypt-npm-5.0.0-c074c165c2-063c32c7a5.zip | 0
A.yarn/cache/@types-jsonwebtoken-npm-9.0.1-5f660fdf38-a7f0925e9a.zip | 0
A.yarn/cache/@types-nodemailer-npm-6.4.7-8618621ba9-dc2a33a891.zip | 0
A.yarn/cache/abbrev-npm-1.1.1-3659247eab-a4a97ec07d.zip | 0
A.yarn/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-170bdba9b4.zip | 0
A.yarn/cache/agent-base-npm-6.0.2-428f325a93-f52b6872cc.zip | 0
A.yarn/cache/agentkeepalive-npm-4.2.1-b86a9fb343-39cb49ed8c.zip | 0
A.yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zip | 0
A.yarn/cache/aproba-npm-2.0.0-8716bcfde6-5615cadcfb.zip | 0
A.yarn/cache/are-we-there-yet-npm-2.0.0-7d2f5201ce-6c80b4fd04.zip | 0
A.yarn/cache/are-we-there-yet-npm-3.0.1-3395b1512f-52590c2486.zip | 0
A.yarn/cache/atomic-sleep-npm-1.0.0-17d8a762a3-b95275afb2.zip | 0
A.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip | 0
A.yarn/cache/bcrypt-npm-5.1.0-2a4230b3eb-a590b65d27.zip | 0
A.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip | 0
A.yarn/cache/buffer-equal-constant-time-npm-1.0.1-41826f3419-80bb945f5d.zip | 0
A.yarn/cache/buffer-npm-6.0.3-cd90dfedfe-5ad23293d9.zip | 0
A.yarn/cache/cacache-npm-16.1.3-4e2088ed0d-d91409e6e5.zip | 0
A.yarn/cache/chownr-npm-2.0.0-638f1c9c61-c57cf9dd07.zip | 0
A.yarn/cache/clean-stack-npm-2.2.0-a8ce435a5c-2ac8cd2b2f.zip | 0
A.yarn/cache/color-support-npm-1.1.3-3be5c53455-9b73568176.zip | 0
A.yarn/cache/console-control-strings-npm-1.1.0-e3160e5275-8755d76787.zip | 0
A.yarn/cache/delegates-npm-1.0.0-9b1942d75f-a51744d9b5.zip | 0
A.yarn/cache/denque-npm-2.1.0-578d0b6297-1d4ae1d05e.zip | 0
A.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip | 0
A.yarn/cache/detect-libc-npm-2.0.1-2699cb2ac4-ccb05fcabb.zip | 0
A.yarn/cache/ecdsa-sig-formatter-npm-1.0.11-b6784e7852-207f9ab1c2.zip | 0
A.yarn/cache/emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip | 0
A.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip | 0
A.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip | 0
A.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-8b7b1be20d.zip | 0
A.yarn/cache/event-target-shim-npm-5.0.1-cb48709025-1ffe3bb22a.zip | 0
A.yarn/cache/events-npm-3.3.0-c280bc7e48-f6f487ad21.zip | 0
A.yarn/cache/fast-redact-npm-3.1.2-e090ce0184-a30eb6b683.zip | 0
A.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip | 0
A.yarn/cache/gauge-npm-3.0.2-9e22f7af9e-81296c00c7.zip | 0
A.yarn/cache/gauge-npm-4.0.4-8f878385e9-788b6bfe52.zip | 0
A.yarn/cache/generate-function-npm-2.3.1-c839dc559c-652f083de2.zip | 0
A.yarn/cache/glob-npm-8.1.0-65f64af8b1-92fbea3221.zip | 0
A.yarn/cache/handlebars-npm-4.7.7-a9ccfabf80-1e79a43f5e.zip | 0
A.yarn/cache/has-unicode-npm-2.0.1-893adb4747-1eab07a743.zip | 0
A.yarn/cache/http-cache-semantics-npm-4.1.0-860520a31f-974de94a81.zip | 0
A.yarn/cache/http-proxy-agent-npm-5.0.0-7f1f121b83-e2ee1ff165.zip | 0
A.yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-571fccdf38.zip | 0
A.yarn/cache/humanize-ms-npm-1.2.1-e942bd7329-9c7a74a282.zip | 0
A.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip | 0
A.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip | 0
A.yarn/cache/indent-string-npm-4.0.0-7b717435b2-824cfb9929.zip | 0
A.yarn/cache/infer-owner-npm-1.0.4-685ac3d2af-181e732764.zip | 0
A.yarn/cache/ip-npm-2.0.0-204facb3cc-cfcfac6b87.zip | 0
A.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip | 0
A.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip | 0
A.yarn/cache/is-property-npm-1.0.2-6eac53b30e-33b661a369.zip | 0
A.yarn/cache/jsonwebtoken-npm-9.0.0-36fd1594c0-b9181cecf9.zip | 0
A.yarn/cache/jwa-npm-1.4.1-4f19d6572c-ff30ea7c2d.zip | 0
A.yarn/cache/jws-npm-3.2.2-c1ae59c7af-f0213fe5b7.zip | 0
A.yarn/cache/lodash-npm-4.17.21-6382451519-eb835a2e51.zip | 0
A.yarn/cache/long-npm-5.2.1-3a12730171-9264da12d1.zip | 0
A.yarn/cache/lru-cache-npm-7.14.1-d3ba9407b6-d72c6713c6.zip | 0
A.yarn/cache/make-dir-npm-3.1.0-d1d7505142-484200020a.zip | 0
A.yarn/cache/make-fetch-happen-npm-10.2.1-f1cc7cd2df-2332eb9a8e.zip | 0
A.yarn/cache/minimatch-npm-5.1.4-3009c246b4-0de6d7d154.zip | 0
A.yarn/cache/minipass-collect-npm-1.0.2-3b4676eab5-14df761028.zip | 0
A.yarn/cache/minipass-fetch-npm-2.1.2-9b21a5c930-3f216be791.zip | 0
A.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip | 0
A.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a30d083c80.zip | 0
A.yarn/cache/minipass-npm-4.0.0-2520d5ae3c-7a609afbf3.zip | 0
A.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip | 0
A.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-79076749fc.zip | 0
A.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-f1fdeac0b0.zip | 0
A.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-a96865108c.zip | 0
A.yarn/cache/mysql2-npm-3.0.1-ceda50bb4d-3b724df78d.zip | 0
A.yarn/cache/named-placeholders-npm-1.1.3-1b385febe5-7834adc91e.zip | 0
A.yarn/cache/nanoid-npm-4.0.0-924f5c6312-7d5946df5c.zip | 0
A.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip | 0
A.yarn/cache/neo-async-npm-2.6.2-75d6902586-deac9f8d00.zip | 0
A.yarn/cache/node-addon-api-npm-5.1.0-b50d00f739-2508bd2d29.zip | 0
A.yarn/cache/node-fetch-npm-2.6.8-ddb8bfc274-91f57be68e.zip | 0
A.yarn/cache/node-gyp-npm-9.3.1-43540bab9c-b860e9976f.zip | 0
A.yarn/cache/nodemailer-npm-6.9.0-67d1056668-152d38de71.zip | 0
A.yarn/cache/nopt-npm-5.0.0-304b40fbfe-d35fdec187.zip | 0
A.yarn/cache/nopt-npm-6.0.0-5ea8050815-82149371f8.zip | 0
A.yarn/cache/npmlog-npm-5.0.1-366cab64a2-516b266302.zip | 0
A.yarn/cache/npmlog-npm-6.0.2-e0e69455c7-ae238cd264.zip | 0
A.yarn/cache/on-exit-leak-free-npm-2.1.0-b522202aa1-7334d98b87.zip | 0
A.yarn/cache/p-map-npm-4.0.0-4677ae07c7-cb0ab21ec0.zip | 0
A.yarn/cache/pino-abstract-transport-npm-1.0.0-a566611547-05dd0eda52.zip | 0
A.yarn/cache/pino-npm-8.8.0-827ae46607-6925646922.zip | 0
A.yarn/cache/pino-std-serializers-npm-6.1.0-849611aa5b-5e42327c24.zip | 0
A.yarn/cache/process-npm-0.11.10-aeb3b641ae-bfcce49814.zip | 0
A.yarn/cache/process-warning-npm-2.1.0-9e82ce3778-2f22a3b8ec.zip | 0
A.yarn/cache/promise-inflight-npm-1.0.1-5bb925afac-2274948309.zip | 0
A.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-f96a3f6d90.zip | 0
A.yarn/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-7bc32b9935.zip | 0
A.yarn/cache/readable-stream-npm-3.6.0-23a4a5eb56-d4ea81502d.zip | 0
A.yarn/cache/readable-stream-npm-4.3.0-11c60fc281-5f8d5fc1eb.zip | 0
A.yarn/cache/real-require-npm-0.2.0-7f69dbc7b6-fa060f19f2.zip | 0
A.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip | 0
A.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip | 0
A.yarn/cache/safe-stable-stringify-npm-2.4.2-26d12f7937-0324ba2e40.zip | 0
A.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip | 0
A.yarn/cache/seq-queue-npm-0.0.5-d5064d9793-f8695a6cb6.zip | 0
A.yarn/cache/set-blocking-npm-2.0.0-49e2cffa24-6e65a05f7c.zip | 0
A.yarn/cache/signal-exit-npm-3.0.7-bd270458a3-a2f098f247.zip | 0
A.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-b5167a7142.zip | 0
A.yarn/cache/socks-npm-2.7.1-17f2b53052-259d9e3e8e.zip | 0
A.yarn/cache/socks-proxy-agent-npm-7.0.0-7aacf32ea0-7205543701.zip | 0
A.yarn/cache/sonic-boom-npm-3.2.1-ddac56c4bc-674d0af31c.zip | 0
A.yarn/cache/source-map-npm-0.6.1-1a3621db16-59ce8640cf.zip | 0
A.yarn/cache/split2-npm-4.1.0-1c1a4bd984-ec581597cb.zip | 0
A.yarn/cache/sqlstring-npm-2.3.3-2db6939570-1e7e2d51c3.zip | 0
A.yarn/cache/ssri-npm-9.0.1-33ce27f4f8-fb58f5e46b.zip | 0
A.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip | 0
A.yarn/cache/string_decoder-npm-1.3.0-2422117fd0-8417646695.zip | 0
A.yarn/cache/tar-npm-6.1.13-3234e72781-8a278bed12.zip | 0
A.yarn/cache/thread-stream-npm-2.3.0-77ee67ae69-e9ea58f9f3.zip | 0
A.yarn/cache/tr46-npm-0.0.3-de53018915-726321c5ea.zip | 0
A.yarn/cache/uglify-js-npm-3.17.4-58d4ab56aa-7b3897df38.zip | 0
A.yarn/cache/unique-filename-npm-2.0.1-183c6c7c2b-807acf3381.zip | 0
A.yarn/cache/unique-slug-npm-3.0.0-0b82e51577-49f8d915ba.zip | 0
A.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip | 0
A.yarn/cache/webidl-conversions-npm-3.0.1-60310f6a2b-c92a0a6ab9.zip | 0
A.yarn/cache/whatwg-url-npm-5.0.0-374fb45e60-b8daed4ad3.zip | 0
A.yarn/cache/wide-align-npm-1.1.5-889d77e592-d5fc37cd56.zip | 0
A.yarn/cache/wordwrap-npm-1.0.0-ae57a645e8-2a44b27881.zip | 0
M.yarn/install-state.gz | 0
Alib/apierror.ts | 9+++++++++
Alib/db.ts | 13+++++++++++++
Alib/email.ts | 20++++++++++++++++++++
Alib/email_templates.ts | 30++++++++++++++++++++++++++++++
Alib/models/login_info.ts | 49+++++++++++++++++++++++++++++++++++++++++++++++++
Alib/models/signup_request.ts | 74++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Alib/models/user_profile.ts | 44++++++++++++++++++++++++++++++++++++++++++++
Alib/security/password.ts | 11+++++++++++
Alib/security/token.ts | 49+++++++++++++++++++++++++++++++++++++++++++++++++
Mpackage.json | 12++++++++++++
Apages/api/auth/token.ts | 48++++++++++++++++++++++++++++++++++++++++++++++++
Dpages/api/hello.ts | 13-------------
Apages/api/users/signup/[id].ts | 70++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apages/api/users/signup/index.ts | 42++++++++++++++++++++++++++++++++++++++++++
Asql/0001_base.sql | 28++++++++++++++++++++++++++++
Myarn.lock | 1266+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
150 files changed, 3174 insertions(+), 48 deletions(-)

diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="DataSourceManagerImpl" format="xml" multifile-model="true"> + <data-source source="LOCAL" name="dreamhanks_demo@localhost" uuid="cba4c0f6-fdcd-459f-9d4c-560e29869213"> + <driver-ref>mysql.8</driver-ref> + <synchronize>true</synchronize> + <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver> + <jdbc-url>jdbc:mysql://localhost:3306/dreamhanks_demo</jdbc-url> + <working-dir>$ProjectFileDir$</working-dir> + </data-source> + </component> +</project> +\ No newline at end of file diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="SqlDialectMappings"> + <file url="PROJECT" dialect="MySQL" /> + </component> +</project> +\ No newline at end of file diff --git a/.pnp.cjs b/.pnp.cjs @@ -29,12 +29,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./",\ "packageDependencies": [\ ["@next/font", "npm:13.1.2"],\ + ["@types/bcrypt", "npm:5.0.0"],\ + ["@types/jsonwebtoken", "npm:9.0.1"],\ ["@types/node", "npm:18.11.18"],\ + ["@types/nodemailer", "npm:6.4.7"],\ ["@types/react", "npm:18.0.26"],\ ["@types/react-dom", "npm:18.0.10"],\ + ["bcrypt", "npm:5.1.0"],\ ["eslint", "npm:8.32.0"],\ ["eslint-config-next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\ + ["handlebars", "npm:4.7.7"],\ + ["jsonwebtoken", "npm:9.0.0"],\ + ["mysql2", "npm:3.0.1"],\ + ["nanoid", "npm:4.0.0"],\ ["next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\ + ["nodemailer", "npm:6.9.0"],\ + ["pino", "npm:8.8.0"],\ ["react", "npm:18.2.0"],\ ["react-dom", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:18.2.0"],\ ["typescript", "patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=ad5954"],\ @@ -59,7 +69,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["@eslint/eslintrc", "npm:1.4.1"],\ ["ajv", "npm:6.12.6"],\ - ["debug", "virtual:007f670de2e506a151fec572a83f2de9d546622ece352a4cf72e57296c0aa644478f43ac47fd07d8495ee7103d37c60645e444556d514defaeb66e67a086d21f#npm:4.3.4"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\ ["espree", "npm:9.4.1"],\ ["globals", "npm:13.19.0"],\ ["ignore", "npm:5.2.4"],\ @@ -71,13 +81,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@gar/promisify", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/@gar-promisify-npm-1.1.3-ac1a325862-4059f790e2.zip/node_modules/@gar/promisify/",\ + "packageDependencies": [\ + ["@gar/promisify", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@humanwhocodes/config-array", [\ ["npm:0.11.8", {\ "packageLocation": "./.yarn/cache/@humanwhocodes-config-array-npm-0.11.8-7955bfecc2-0fd6b3c54f.zip/node_modules/@humanwhocodes/config-array/",\ "packageDependencies": [\ ["@humanwhocodes/config-array", "npm:0.11.8"],\ ["@humanwhocodes/object-schema", "npm:1.2.1"],\ - ["debug", "virtual:007f670de2e506a151fec572a83f2de9d546622ece352a4cf72e57296c0aa644478f43ac47fd07d8495ee7103d37c60645e444556d514defaeb66e67a086d21f#npm:4.3.4"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\ ["minimatch", "npm:3.1.2"]\ ],\ "linkType": "HARD"\ @@ -101,6 +120,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@mapbox/node-pre-gyp", [\ + ["npm:1.0.10", {\ + "packageLocation": "./.yarn/cache/@mapbox-node-pre-gyp-npm-1.0.10-1811160047-1a98db05d9.zip/node_modules/@mapbox/node-pre-gyp/",\ + "packageDependencies": [\ + ["@mapbox/node-pre-gyp", "npm:1.0.10"],\ + ["detect-libc", "npm:2.0.1"],\ + ["https-proxy-agent", "npm:5.0.1"],\ + ["make-dir", "npm:3.1.0"],\ + ["node-fetch", "virtual:1811160047d7e0f7e43f371e07920c11204416dd6ae0b8461e04538b2f68e9167aca28b60b34dbd287674a5cdd52bd05be5797bbe2f7de916231958cb58055fb#npm:2.6.8"],\ + ["nopt", "npm:5.0.0"],\ + ["npmlog", "npm:5.0.1"],\ + ["rimraf", "npm:3.0.2"],\ + ["semver", "npm:7.3.8"],\ + ["tar", "npm:6.1.13"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@next/env", [\ ["npm:13.1.2", {\ "packageLocation": "./.yarn/cache/@next-env-npm-13.1.2-7075a70589-0b25af4a1c.zip/node_modules/@next/env/",\ @@ -277,6 +314,28 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@npmcli/fs", [\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/@npmcli-fs-npm-2.1.2-08d434e77b-405074965e.zip/node_modules/@npmcli/fs/",\ + "packageDependencies": [\ + ["@npmcli/fs", "npm:2.1.2"],\ + ["@gar/promisify", "npm:1.1.3"],\ + ["semver", "npm:7.3.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/move-file", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/@npmcli-move-file-npm-2.0.1-b593d8f741-52dc02259d.zip/node_modules/@npmcli/move-file/",\ + "packageDependencies": [\ + ["@npmcli/move-file", "npm:2.0.1"],\ + ["mkdirp", "npm:1.0.4"],\ + ["rimraf", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@pkgr/utils", [\ ["npm:2.3.1", {\ "packageLocation": "./.yarn/cache/@pkgr-utils-npm-2.3.1-c89c217c08-118a197112.zip/node_modules/@pkgr/utils/",\ @@ -311,6 +370,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@tootallnate/once", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/@tootallnate-once-npm-2.0.0-e36cf4f140-ad87447820.zip/node_modules/@tootallnate/once/",\ + "packageDependencies": [\ + ["@tootallnate/once", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/bcrypt", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/@types-bcrypt-npm-5.0.0-c074c165c2-063c32c7a5.zip/node_modules/@types/bcrypt/",\ + "packageDependencies": [\ + ["@types/bcrypt", "npm:5.0.0"],\ + ["@types/node", "npm:18.11.18"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@types/json5", [\ ["npm:0.0.29", {\ "packageLocation": "./.yarn/cache/@types-json5-npm-0.0.29-f63a7916bd-e60b153664.zip/node_modules/@types/json5/",\ @@ -320,6 +398,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@types/jsonwebtoken", [\ + ["npm:9.0.1", {\ + "packageLocation": "./.yarn/cache/@types-jsonwebtoken-npm-9.0.1-5f660fdf38-a7f0925e9a.zip/node_modules/@types/jsonwebtoken/",\ + "packageDependencies": [\ + ["@types/jsonwebtoken", "npm:9.0.1"],\ + ["@types/node", "npm:18.11.18"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@types/node", [\ ["npm:18.11.18", {\ "packageLocation": "./.yarn/cache/@types-node-npm-18.11.18-d61e8a4a20-03f17f9480.zip/node_modules/@types/node/",\ @@ -329,6 +417,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["@types/nodemailer", [\ + ["npm:6.4.7", {\ + "packageLocation": "./.yarn/cache/@types-nodemailer-npm-6.4.7-8618621ba9-dc2a33a891.zip/node_modules/@types/nodemailer/",\ + "packageDependencies": [\ + ["@types/nodemailer", "npm:6.4.7"],\ + ["@types/node", "npm:18.11.18"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["@types/prop-types", [\ ["npm:15.7.5", {\ "packageLocation": "./.yarn/cache/@types-prop-types-npm-15.7.5-2aa48aa177-5b43b8b154.zip/node_modules/@types/prop-types/",\ @@ -386,7 +484,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/scope-manager", "npm:5.48.1"],\ ["@typescript-eslint/types", "npm:5.48.1"],\ ["@typescript-eslint/typescript-estree", "virtual:f2555630c69b17811a08f262f7620c8327b7b3e551a941b56ea0fbf3d4c2ab94a53b934b9cbf4c8fcc577abacf4b6d6dff560634161468aae5b678d9751665f6#npm:5.48.1"],\ - ["debug", "virtual:007f670de2e506a151fec572a83f2de9d546622ece352a4cf72e57296c0aa644478f43ac47fd07d8495ee7103d37c60645e444556d514defaeb66e67a086d21f#npm:4.3.4"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\ ["eslint", "npm:8.32.0"],\ ["typescript", "patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=ad5954"]\ ],\ @@ -434,7 +532,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/typescript", null],\ ["@typescript-eslint/types", "npm:5.48.1"],\ ["@typescript-eslint/visitor-keys", "npm:5.48.1"],\ - ["debug", "virtual:007f670de2e506a151fec572a83f2de9d546622ece352a4cf72e57296c0aa644478f43ac47fd07d8495ee7103d37c60645e444556d514defaeb66e67a086d21f#npm:4.3.4"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\ ["globby", "npm:11.1.0"],\ ["is-glob", "npm:4.0.3"],\ ["semver", "npm:7.3.8"],\ @@ -459,6 +557,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["abbrev", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/abbrev-npm-1.1.1-3659247eab-a4a97ec07d.zip/node_modules/abbrev/",\ + "packageDependencies": [\ + ["abbrev", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["abort-controller", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-170bdba9b4.zip/node_modules/abort-controller/",\ + "packageDependencies": [\ + ["abort-controller", "npm:3.0.0"],\ + ["event-target-shim", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["acorn", [\ ["npm:8.8.1", {\ "packageLocation": "./.yarn/cache/acorn-npm-8.8.1-20e4aea981-4079b67283.zip/node_modules/acorn/",\ @@ -490,6 +607,39 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["agent-base", [\ + ["npm:6.0.2", {\ + "packageLocation": "./.yarn/cache/agent-base-npm-6.0.2-428f325a93-f52b6872cc.zip/node_modules/agent-base/",\ + "packageDependencies": [\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["agentkeepalive", [\ + ["npm:4.2.1", {\ + "packageLocation": "./.yarn/cache/agentkeepalive-npm-4.2.1-b86a9fb343-39cb49ed8c.zip/node_modules/agentkeepalive/",\ + "packageDependencies": [\ + ["agentkeepalive", "npm:4.2.1"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\ + ["depd", "npm:1.1.2"],\ + ["humanize-ms", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["aggregate-error", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zip/node_modules/aggregate-error/",\ + "packageDependencies": [\ + ["aggregate-error", "npm:3.1.0"],\ + ["clean-stack", "npm:2.2.0"],\ + ["indent-string", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["ajv", [\ ["npm:6.12.6", {\ "packageLocation": "./.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-874972efe5.zip/node_modules/ajv/",\ @@ -522,6 +672,35 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["aproba", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/aproba-npm-2.0.0-8716bcfde6-5615cadcfb.zip/node_modules/aproba/",\ + "packageDependencies": [\ + ["aproba", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["are-we-there-yet", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/are-we-there-yet-npm-2.0.0-7d2f5201ce-6c80b4fd04.zip/node_modules/are-we-there-yet/",\ + "packageDependencies": [\ + ["are-we-there-yet", "npm:2.0.0"],\ + ["delegates", "npm:1.0.0"],\ + ["readable-stream", "npm:3.6.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/are-we-there-yet-npm-3.0.1-3395b1512f-52590c2486.zip/node_modules/are-we-there-yet/",\ + "packageDependencies": [\ + ["are-we-there-yet", "npm:3.0.1"],\ + ["delegates", "npm:1.0.0"],\ + ["readable-stream", "npm:3.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["argparse", [\ ["npm:2.0.1", {\ "packageLocation": "./.yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zip/node_modules/argparse/",\ @@ -613,6 +792,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["atomic-sleep", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/atomic-sleep-npm-1.0.0-17d8a762a3-b95275afb2.zip/node_modules/atomic-sleep/",\ + "packageDependencies": [\ + ["atomic-sleep", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["available-typed-arrays", [\ ["npm:1.0.5", {\ "packageLocation": "./.yarn/cache/available-typed-arrays-npm-1.0.5-88f321e4d3-20eb47b3ce.zip/node_modules/available-typed-arrays/",\ @@ -650,6 +838,26 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["base64-js", [\ + ["npm:1.5.1", {\ + "packageLocation": "./.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip/node_modules/base64-js/",\ + "packageDependencies": [\ + ["base64-js", "npm:1.5.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bcrypt", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/unplugged/bcrypt-npm-5.1.0-2a4230b3eb/node_modules/bcrypt/",\ + "packageDependencies": [\ + ["bcrypt", "npm:5.1.0"],\ + ["@mapbox/node-pre-gyp", "npm:1.0.10"],\ + ["node-addon-api", "npm:5.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["brace-expansion", [\ ["npm:1.1.11", {\ "packageLocation": "./.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip/node_modules/brace-expansion/",\ @@ -659,6 +867,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["concat-map", "npm:0.0.1"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:2.0.1"],\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["braces", [\ @@ -671,6 +887,53 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["buffer", [\ + ["npm:6.0.3", {\ + "packageLocation": "./.yarn/cache/buffer-npm-6.0.3-cd90dfedfe-5ad23293d9.zip/node_modules/buffer/",\ + "packageDependencies": [\ + ["buffer", "npm:6.0.3"],\ + ["base64-js", "npm:1.5.1"],\ + ["ieee754", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["buffer-equal-constant-time", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/buffer-equal-constant-time-npm-1.0.1-41826f3419-80bb945f5d.zip/node_modules/buffer-equal-constant-time/",\ + "packageDependencies": [\ + ["buffer-equal-constant-time", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cacache", [\ + ["npm:16.1.3", {\ + "packageLocation": "./.yarn/cache/cacache-npm-16.1.3-4e2088ed0d-d91409e6e5.zip/node_modules/cacache/",\ + "packageDependencies": [\ + ["cacache", "npm:16.1.3"],\ + ["@npmcli/fs", "npm:2.1.2"],\ + ["@npmcli/move-file", "npm:2.0.1"],\ + ["chownr", "npm:2.0.0"],\ + ["fs-minipass", "npm:2.1.0"],\ + ["glob", "npm:8.1.0"],\ + ["infer-owner", "npm:1.0.4"],\ + ["lru-cache", "npm:7.14.1"],\ + ["minipass", "npm:3.3.6"],\ + ["minipass-collect", "npm:1.0.2"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["mkdirp", "npm:1.0.4"],\ + ["p-map", "npm:4.0.0"],\ + ["promise-inflight", "virtual:4e2088ed0df52533102f445d7e7aeba6560b7effa0cabbc7cc20dd1e36a86dd838cc541de4414688f4ce3ec77b0ad5298cea6de581350d934ceb35c3e0fe3462#npm:1.0.1"],\ + ["rimraf", "npm:3.0.2"],\ + ["ssri", "npm:9.0.1"],\ + ["tar", "npm:6.1.13"],\ + ["unique-filename", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["call-bind", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/call-bind-npm-1.0.2-c957124861-f8e31de9d1.zip/node_modules/call-bind/",\ @@ -711,6 +974,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["chownr", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/chownr-npm-2.0.0-638f1c9c61-c57cf9dd07.zip/node_modules/chownr/",\ + "packageDependencies": [\ + ["chownr", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["clean-stack", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/clean-stack-npm-2.2.0-a8ce435a5c-2ac8cd2b2f.zip/node_modules/clean-stack/",\ + "packageDependencies": [\ + ["clean-stack", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["client-only", [\ ["npm:0.0.1", {\ "packageLocation": "./.yarn/cache/client-only-npm-0.0.1-07d3e9505c-0c16bf660d.zip/node_modules/client-only/",\ @@ -739,6 +1020,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["color-support", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/color-support-npm-1.1.3-3be5c53455-9b73568176.zip/node_modules/color-support/",\ + "packageDependencies": [\ + ["color-support", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["concat-map", [\ ["npm:0.0.1", {\ "packageLocation": "./.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-902a9f5d89.zip/node_modules/concat-map/",\ @@ -748,6 +1038,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["console-control-strings", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/console-control-strings-npm-1.1.0-e3160e5275-8755d76787.zip/node_modules/console-control-strings/",\ + "packageDependencies": [\ + ["console-control-strings", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["cross-spawn", [\ ["npm:7.0.3", {\ "packageLocation": "./.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-671cc7c728.zip/node_modules/cross-spawn/",\ @@ -793,10 +1092,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:007f670de2e506a151fec572a83f2de9d546622ece352a4cf72e57296c0aa644478f43ac47fd07d8495ee7103d37c60645e444556d514defaeb66e67a086d21f#npm:4.3.4", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-65288684bf/0/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\ + ["virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-218613e218/0/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\ "packageDependencies": [\ - ["debug", "virtual:007f670de2e506a151fec572a83f2de9d546622ece352a4cf72e57296c0aa644478f43ac47fd07d8495ee7103d37c60645e444556d514defaeb66e67a086d21f#npm:4.3.4"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\ ["@types/supports-color", null],\ ["ms", "npm:2.1.2"],\ ["supports-color", null]\ @@ -877,6 +1176,42 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["delegates", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/delegates-npm-1.0.0-9b1942d75f-a51744d9b5.zip/node_modules/delegates/",\ + "packageDependencies": [\ + ["delegates", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["denque", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/denque-npm-2.1.0-578d0b6297-1d4ae1d05e.zip/node_modules/denque/",\ + "packageDependencies": [\ + ["denque", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["depd", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip/node_modules/depd/",\ + "packageDependencies": [\ + ["depd", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["detect-libc", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/detect-libc-npm-2.0.1-2699cb2ac4-ccb05fcabb.zip/node_modules/detect-libc/",\ + "packageDependencies": [\ + ["detect-libc", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["dir-glob", [\ ["npm:3.0.1", {\ "packageLocation": "./.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip/node_modules/dir-glob/",\ @@ -911,12 +1246,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["dreamhanks-demo-project", "workspace:."],\ ["@next/font", "npm:13.1.2"],\ + ["@types/bcrypt", "npm:5.0.0"],\ + ["@types/jsonwebtoken", "npm:9.0.1"],\ ["@types/node", "npm:18.11.18"],\ + ["@types/nodemailer", "npm:6.4.7"],\ ["@types/react", "npm:18.0.26"],\ ["@types/react-dom", "npm:18.0.10"],\ + ["bcrypt", "npm:5.1.0"],\ ["eslint", "npm:8.32.0"],\ ["eslint-config-next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\ + ["handlebars", "npm:4.7.7"],\ + ["jsonwebtoken", "npm:9.0.0"],\ + ["mysql2", "npm:3.0.1"],\ + ["nanoid", "npm:4.0.0"],\ ["next", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:13.1.2"],\ + ["nodemailer", "npm:6.9.0"],\ + ["pino", "npm:8.8.0"],\ ["react", "npm:18.2.0"],\ ["react-dom", "virtual:185201ad25745f54898a2e9f78d456a655eb75b6cdedfba903ba6a6b91ecfe544fb067556e53d84d3f5dee5e27bf03679e7ed01de96d422947cdba9f3cf4c1cd#npm:18.2.0"],\ ["typescript", "patch:typescript@npm%3A4.9.4#~builtin<compat/typescript>::version=4.9.4&hash=ad5954"],\ @@ -925,7 +1270,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "SOFT"\ }]\ ]],\ + ["ecdsa-sig-formatter", [\ + ["npm:1.0.11", {\ + "packageLocation": "./.yarn/cache/ecdsa-sig-formatter-npm-1.0.11-b6784e7852-207f9ab1c2.zip/node_modules/ecdsa-sig-formatter/",\ + "packageDependencies": [\ + ["ecdsa-sig-formatter", "npm:1.0.11"],\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["emoji-regex", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:8.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:9.2.2", {\ "packageLocation": "./.yarn/cache/emoji-regex-npm-9.2.2-e6fac8d058-8487182da7.zip/node_modules/emoji-regex/",\ "packageDependencies": [\ @@ -934,6 +1296,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["encoding", [\ + ["npm:0.1.13", {\ + "packageLocation": "./.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip/node_modules/encoding/",\ + "packageDependencies": [\ + ["encoding", "npm:0.1.13"],\ + ["iconv-lite", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["enhanced-resolve", [\ ["npm:5.12.0", {\ "packageLocation": "./.yarn/cache/enhanced-resolve-npm-5.12.0-c291ce4ee3-bf3f787fac.zip/node_modules/enhanced-resolve/",\ @@ -945,6 +1317,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["env-paths", [\ + ["npm:2.2.1", {\ + "packageLocation": "./.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip/node_modules/env-paths/",\ + "packageDependencies": [\ + ["env-paths", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["err-code", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-8b7b1be20d.zip/node_modules/err-code/",\ + "packageDependencies": [\ + ["err-code", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["es-abstract", [\ ["npm:1.21.1", {\ "packageLocation": "./.yarn/cache/es-abstract-npm-1.21.1-28d9a4a469-23ff60d42d.zip/node_modules/es-abstract/",\ @@ -1060,7 +1450,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ajv", "npm:6.12.6"],\ ["chalk", "npm:4.1.2"],\ ["cross-spawn", "npm:7.0.3"],\ - ["debug", "virtual:007f670de2e506a151fec572a83f2de9d546622ece352a4cf72e57296c0aa644478f43ac47fd07d8495ee7103d37c60645e444556d514defaeb66e67a086d21f#npm:4.3.4"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\ ["doctrine", "npm:3.0.0"],\ ["escape-string-regexp", "npm:4.0.0"],\ ["eslint-scope", "npm:7.1.1"],\ @@ -1157,7 +1547,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["eslint-import-resolver-typescript", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:3.5.3"],\ ["@types/eslint", null],\ ["@types/eslint-plugin-import", null],\ - ["debug", "virtual:007f670de2e506a151fec572a83f2de9d546622ece352a4cf72e57296c0aa644478f43ac47fd07d8495ee7103d37c60645e444556d514defaeb66e67a086d21f#npm:4.3.4"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\ ["enhanced-resolve", "npm:5.12.0"],\ ["eslint", "npm:8.32.0"],\ ["eslint-plugin-import", "virtual:51c22dc6e4e1d70ffccb7c1dd08d8a60ab284f323d0b5f92aae0752a8ad130327171c6ef73397de06736f903d8d1c57a85aec82c465268696d227caa2521ab13#npm:2.27.4"],\ @@ -1453,6 +1843,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["event-target-shim", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/event-target-shim-npm-5.0.1-cb48709025-1ffe3bb22a.zip/node_modules/event-target-shim/",\ + "packageDependencies": [\ + ["event-target-shim", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["events", [\ + ["npm:3.3.0", {\ + "packageLocation": "./.yarn/cache/events-npm-3.3.0-c280bc7e48-f6f487ad21.zip/node_modules/events/",\ + "packageDependencies": [\ + ["events", "npm:3.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["fast-deep-equal", [\ ["npm:3.1.3", {\ "packageLocation": "./.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip/node_modules/fast-deep-equal/",\ @@ -1494,6 +1902,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["fast-redact", [\ + ["npm:3.1.2", {\ + "packageLocation": "./.yarn/cache/fast-redact-npm-3.1.2-e090ce0184-a30eb6b683.zip/node_modules/fast-redact/",\ + "packageDependencies": [\ + ["fast-redact", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["fastq", [\ ["npm:1.15.0", {\ "packageLocation": "./.yarn/cache/fastq-npm-1.15.0-1013f6514e-0170e6bfcd.zip/node_modules/fastq/",\ @@ -1565,6 +1982,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["fs-minipass", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip/node_modules/fs-minipass/",\ + "packageDependencies": [\ + ["fs-minipass", "npm:2.1.0"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["fs.realpath", [\ ["npm:1.0.0", {\ "packageLocation": "./.yarn/cache/fs.realpath-npm-1.0.0-c8f05d8126-99ddea01a7.zip/node_modules/fs.realpath/",\ @@ -1605,6 +2032,49 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["gauge", [\ + ["npm:3.0.2", {\ + "packageLocation": "./.yarn/cache/gauge-npm-3.0.2-9e22f7af9e-81296c00c7.zip/node_modules/gauge/",\ + "packageDependencies": [\ + ["gauge", "npm:3.0.2"],\ + ["aproba", "npm:2.0.0"],\ + ["color-support", "npm:1.1.3"],\ + ["console-control-strings", "npm:1.1.0"],\ + ["has-unicode", "npm:2.0.1"],\ + ["object-assign", "npm:4.1.1"],\ + ["signal-exit", "npm:3.0.7"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["wide-align", "npm:1.1.5"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.4", {\ + "packageLocation": "./.yarn/cache/gauge-npm-4.0.4-8f878385e9-788b6bfe52.zip/node_modules/gauge/",\ + "packageDependencies": [\ + ["gauge", "npm:4.0.4"],\ + ["aproba", "npm:2.0.0"],\ + ["color-support", "npm:1.1.3"],\ + ["console-control-strings", "npm:1.1.0"],\ + ["has-unicode", "npm:2.0.1"],\ + ["signal-exit", "npm:3.0.7"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["wide-align", "npm:1.1.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["generate-function", [\ + ["npm:2.3.1", {\ + "packageLocation": "./.yarn/cache/generate-function-npm-2.3.1-c839dc559c-652f083de2.zip/node_modules/generate-function/",\ + "packageDependencies": [\ + ["generate-function", "npm:2.3.1"],\ + ["is-property", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["get-intrinsic", [\ ["npm:1.1.3", {\ "packageLocation": "./.yarn/cache/get-intrinsic-npm-1.1.3-b6c7bd1010-152d79e872.zip/node_modules/get-intrinsic/",\ @@ -1663,11 +2133,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["path-is-absolute", "npm:1.0.1"]\ ],\ "linkType": "HARD"\ - }]\ - ]],\ - ["glob-parent", [\ - ["npm:5.1.2", {\ - "packageLocation": "./.yarn/cache/glob-parent-npm-5.1.2-021ab32634-f4f2bfe242.zip/node_modules/glob-parent/",\ + }],\ + ["npm:8.1.0", {\ + "packageLocation": "./.yarn/cache/glob-npm-8.1.0-65f64af8b1-92fbea3221.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:8.1.0"],\ + ["fs.realpath", "npm:1.0.0"],\ + ["inflight", "npm:1.0.6"],\ + ["inherits", "npm:2.0.4"],\ + ["minimatch", "npm:5.1.4"],\ + ["once", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob-parent", [\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/glob-parent-npm-5.1.2-021ab32634-f4f2bfe242.zip/node_modules/glob-parent/",\ "packageDependencies": [\ ["glob-parent", "npm:5.1.2"],\ ["is-glob", "npm:4.0.3"]\ @@ -1776,6 +2258,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["handlebars", [\ + ["npm:4.7.7", {\ + "packageLocation": "./.yarn/cache/handlebars-npm-4.7.7-a9ccfabf80-1e79a43f5e.zip/node_modules/handlebars/",\ + "packageDependencies": [\ + ["handlebars", "npm:4.7.7"],\ + ["minimist", "npm:1.2.7"],\ + ["neo-async", "npm:2.6.2"],\ + ["source-map", "npm:0.6.1"],\ + ["uglify-js", "npm:3.17.4"],\ + ["wordwrap", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["has", [\ ["npm:1.0.3", {\ "packageLocation": "./.yarn/cache/has-npm-1.0.3-b7f00631c1-b9ad53d53b.zip/node_modules/has/",\ @@ -1842,6 +2338,76 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["has-unicode", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/has-unicode-npm-2.0.1-893adb4747-1eab07a743.zip/node_modules/has-unicode/",\ + "packageDependencies": [\ + ["has-unicode", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-cache-semantics", [\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/http-cache-semantics-npm-4.1.0-860520a31f-974de94a81.zip/node_modules/http-cache-semantics/",\ + "packageDependencies": [\ + ["http-cache-semantics", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-proxy-agent", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/http-proxy-agent-npm-5.0.0-7f1f121b83-e2ee1ff165.zip/node_modules/http-proxy-agent/",\ + "packageDependencies": [\ + ["http-proxy-agent", "npm:5.0.0"],\ + ["@tootallnate/once", "npm:2.0.0"],\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["https-proxy-agent", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-571fccdf38.zip/node_modules/https-proxy-agent/",\ + "packageDependencies": [\ + ["https-proxy-agent", "npm:5.0.1"],\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["humanize-ms", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/humanize-ms-npm-1.2.1-e942bd7329-9c7a74a282.zip/node_modules/humanize-ms/",\ + "packageDependencies": [\ + ["humanize-ms", "npm:1.2.1"],\ + ["ms", "npm:2.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["iconv-lite", [\ + ["npm:0.6.3", {\ + "packageLocation": "./.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip/node_modules/iconv-lite/",\ + "packageDependencies": [\ + ["iconv-lite", "npm:0.6.3"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ieee754", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip/node_modules/ieee754/",\ + "packageDependencies": [\ + ["ieee754", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["ignore", [\ ["npm:5.2.4", {\ "packageLocation": "./.yarn/cache/ignore-npm-5.2.4-fbe6e989e5-3d4c309c60.zip/node_modules/ignore/",\ @@ -1871,6 +2437,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["indent-string", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/indent-string-npm-4.0.0-7b717435b2-824cfb9929.zip/node_modules/indent-string/",\ + "packageDependencies": [\ + ["indent-string", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["infer-owner", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/infer-owner-npm-1.0.4-685ac3d2af-181e732764.zip/node_modules/infer-owner/",\ + "packageDependencies": [\ + ["infer-owner", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["inflight", [\ ["npm:1.0.6", {\ "packageLocation": "./.yarn/cache/inflight-npm-1.0.6-ccedb4b908-f4f76aa072.zip/node_modules/inflight/",\ @@ -1903,6 +2487,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["ip", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/ip-npm-2.0.0-204facb3cc-cfcfac6b87.zip/node_modules/ip/",\ + "packageDependencies": [\ + ["ip", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-arguments", [\ ["npm:1.1.1", {\ "packageLocation": "./.yarn/cache/is-arguments-npm-1.1.1-eff4f6d4d7-7f02700ec2.zip/node_modules/is-arguments/",\ @@ -1994,6 +2587,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["is-fullwidth-code-point", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip/node_modules/is-fullwidth-code-point/",\ + "packageDependencies": [\ + ["is-fullwidth-code-point", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-glob", [\ ["npm:4.0.3", {\ "packageLocation": "./.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-d381c1319f.zip/node_modules/is-glob/",\ @@ -2004,6 +2606,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["is-lambda", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip/node_modules/is-lambda/",\ + "packageDependencies": [\ + ["is-lambda", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-map", [\ ["npm:2.0.2", {\ "packageLocation": "./.yarn/cache/is-map-npm-2.0.2-486724dabc-ace3d0ecd6.zip/node_modules/is-map/",\ @@ -2050,6 +2661,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["is-property", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/is-property-npm-1.0.2-6eac53b30e-33b661a369.zip/node_modules/is-property/",\ + "packageDependencies": [\ + ["is-property", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["is-regex", [\ ["npm:1.1.4", {\ "packageLocation": "./.yarn/cache/is-regex-npm-1.1.4-cca193ef11-362399b335.zip/node_modules/is-regex/",\ @@ -2228,6 +2848,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["jsonwebtoken", [\ + ["npm:9.0.0", {\ + "packageLocation": "./.yarn/cache/jsonwebtoken-npm-9.0.0-36fd1594c0-b9181cecf9.zip/node_modules/jsonwebtoken/",\ + "packageDependencies": [\ + ["jsonwebtoken", "npm:9.0.0"],\ + ["jws", "npm:3.2.2"],\ + ["lodash", "npm:4.17.21"],\ + ["ms", "npm:2.1.3"],\ + ["semver", "npm:7.3.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["jsx-ast-utils", [\ ["npm:3.3.3", {\ "packageLocation": "./.yarn/cache/jsx-ast-utils-npm-3.3.3-3d3171e1e4-a2ed78cac4.zip/node_modules/jsx-ast-utils/",\ @@ -2239,6 +2872,29 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["jwa", [\ + ["npm:1.4.1", {\ + "packageLocation": "./.yarn/cache/jwa-npm-1.4.1-4f19d6572c-ff30ea7c2d.zip/node_modules/jwa/",\ + "packageDependencies": [\ + ["jwa", "npm:1.4.1"],\ + ["buffer-equal-constant-time", "npm:1.0.1"],\ + ["ecdsa-sig-formatter", "npm:1.0.11"],\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jws", [\ + ["npm:3.2.2", {\ + "packageLocation": "./.yarn/cache/jws-npm-3.2.2-c1ae59c7af-f0213fe5b7.zip/node_modules/jws/",\ + "packageDependencies": [\ + ["jws", "npm:3.2.2"],\ + ["jwa", "npm:1.4.1"],\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["language-subtag-registry", [\ ["npm:0.3.22", {\ "packageLocation": "./.yarn/cache/language-subtag-registry-npm-0.3.22-e9f79fe04e-8ab70a7e0e.zip/node_modules/language-subtag-registry/",\ @@ -2279,6 +2935,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["lodash", [\ + ["npm:4.17.21", {\ + "packageLocation": "./.yarn/cache/lodash-npm-4.17.21-6382451519-eb835a2e51.zip/node_modules/lodash/",\ + "packageDependencies": [\ + ["lodash", "npm:4.17.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["lodash.merge", [\ ["npm:4.6.2", {\ "packageLocation": "./.yarn/cache/lodash.merge-npm-4.6.2-77cb4416bf-ad580b4bdb.zip/node_modules/lodash.merge/",\ @@ -2288,6 +2953,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["long", [\ + ["npm:5.2.1", {\ + "packageLocation": "./.yarn/cache/long-npm-5.2.1-3a12730171-9264da12d1.zip/node_modules/long/",\ + "packageDependencies": [\ + ["long", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["loose-envify", [\ ["npm:1.4.0", {\ "packageLocation": "./.yarn/cache/loose-envify-npm-1.4.0-6307b72ccf-6517e24e0c.zip/node_modules/loose-envify/",\ @@ -2306,6 +2980,48 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["yallist", "npm:4.0.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:7.14.1", {\ + "packageLocation": "./.yarn/cache/lru-cache-npm-7.14.1-d3ba9407b6-d72c6713c6.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:7.14.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-dir", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/make-dir-npm-3.1.0-d1d7505142-484200020a.zip/node_modules/make-dir/",\ + "packageDependencies": [\ + ["make-dir", "npm:3.1.0"],\ + ["semver", "npm:6.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-fetch-happen", [\ + ["npm:10.2.1", {\ + "packageLocation": "./.yarn/cache/make-fetch-happen-npm-10.2.1-f1cc7cd2df-2332eb9a8e.zip/node_modules/make-fetch-happen/",\ + "packageDependencies": [\ + ["make-fetch-happen", "npm:10.2.1"],\ + ["agentkeepalive", "npm:4.2.1"],\ + ["cacache", "npm:16.1.3"],\ + ["http-cache-semantics", "npm:4.1.0"],\ + ["http-proxy-agent", "npm:5.0.0"],\ + ["https-proxy-agent", "npm:5.0.1"],\ + ["is-lambda", "npm:1.0.1"],\ + ["lru-cache", "npm:7.14.1"],\ + ["minipass", "npm:3.3.6"],\ + ["minipass-collect", "npm:1.0.2"],\ + ["minipass-fetch", "npm:2.1.2"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["negotiator", "npm:0.6.3"],\ + ["promise-retry", "npm:2.0.1"],\ + ["socks-proxy-agent", "npm:7.0.0"],\ + ["ssri", "npm:9.0.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["merge2", [\ @@ -2336,6 +3052,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["brace-expansion", "npm:1.1.11"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:5.1.4", {\ + "packageLocation": "./.yarn/cache/minimatch-npm-5.1.4-3009c246b4-0de6d7d154.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:5.1.4"],\ + ["brace-expansion", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["minimist", [\ @@ -2347,6 +3071,97 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["minipass", [\ + ["npm:3.3.6", {\ + "packageLocation": "./.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a30d083c80.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:3.3.6"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/minipass-npm-4.0.0-2520d5ae3c-7a609afbf3.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:4.0.0"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-collect", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/minipass-collect-npm-1.0.2-3b4676eab5-14df761028.zip/node_modules/minipass-collect/",\ + "packageDependencies": [\ + ["minipass-collect", "npm:1.0.2"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-fetch", [\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/minipass-fetch-npm-2.1.2-9b21a5c930-3f216be791.zip/node_modules/minipass-fetch/",\ + "packageDependencies": [\ + ["minipass-fetch", "npm:2.1.2"],\ + ["encoding", "npm:0.1.13"],\ + ["minipass", "npm:3.3.6"],\ + ["minipass-sized", "npm:1.0.3"],\ + ["minizlib", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-flush", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip/node_modules/minipass-flush/",\ + "packageDependencies": [\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-pipeline", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip/node_modules/minipass-pipeline/",\ + "packageDependencies": [\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-sized", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-79076749fc.zip/node_modules/minipass-sized/",\ + "packageDependencies": [\ + ["minipass-sized", "npm:1.0.3"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minizlib", [\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-f1fdeac0b0.zip/node_modules/minizlib/",\ + "packageDependencies": [\ + ["minizlib", "npm:2.1.2"],\ + ["minipass", "npm:3.3.6"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mkdirp", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-a96865108c.zip/node_modules/mkdirp/",\ + "packageDependencies": [\ + ["mkdirp", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["ms", [\ ["npm:2.1.2", {\ "packageLocation": "./.yarn/cache/ms-npm-2.1.2-ec0c1512ff-673cdb2c31.zip/node_modules/ms/",\ @@ -2363,6 +3178,33 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["mysql2", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/mysql2-npm-3.0.1-ceda50bb4d-3b724df78d.zip/node_modules/mysql2/",\ + "packageDependencies": [\ + ["mysql2", "npm:3.0.1"],\ + ["denque", "npm:2.1.0"],\ + ["generate-function", "npm:2.3.1"],\ + ["iconv-lite", "npm:0.6.3"],\ + ["long", "npm:5.2.1"],\ + ["lru-cache", "npm:7.14.1"],\ + ["named-placeholders", "npm:1.1.3"],\ + ["seq-queue", "npm:0.0.5"],\ + ["sqlstring", "npm:2.3.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["named-placeholders", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/named-placeholders-npm-1.1.3-1b385febe5-7834adc91e.zip/node_modules/named-placeholders/",\ + "packageDependencies": [\ + ["named-placeholders", "npm:1.1.3"],\ + ["lru-cache", "npm:7.14.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["nanoid", [\ ["npm:3.3.4", {\ "packageLocation": "./.yarn/cache/nanoid-npm-3.3.4-3d250377d6-2fddd6dee9.zip/node_modules/nanoid/",\ @@ -2370,6 +3212,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["nanoid", "npm:3.3.4"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/nanoid-npm-4.0.0-924f5c6312-7d5946df5c.zip/node_modules/nanoid/",\ + "packageDependencies": [\ + ["nanoid", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["natural-compare", [\ @@ -2381,6 +3230,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["negotiator", [\ + ["npm:0.6.3", {\ + "packageLocation": "./.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip/node_modules/negotiator/",\ + "packageDependencies": [\ + ["negotiator", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["neo-async", [\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/neo-async-npm-2.6.2-75d6902586-deac9f8d00.zip/node_modules/neo-async/",\ + "packageDependencies": [\ + ["neo-async", "npm:2.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["next", [\ ["npm:13.1.2", {\ "packageLocation": "./.yarn/cache/next-npm-13.1.2-fdc453e9b1-bc9aedfc70.zip/node_modules/next/",\ @@ -2437,6 +3304,109 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["node-addon-api", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/unplugged/node-addon-api-npm-5.1.0-b50d00f739/node_modules/node-addon-api/",\ + "packageDependencies": [\ + ["node-addon-api", "npm:5.1.0"],\ + ["node-gyp", "npm:9.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-fetch", [\ + ["npm:2.6.8", {\ + "packageLocation": "./.yarn/cache/node-fetch-npm-2.6.8-ddb8bfc274-91f57be68e.zip/node_modules/node-fetch/",\ + "packageDependencies": [\ + ["node-fetch", "npm:2.6.8"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1811160047d7e0f7e43f371e07920c11204416dd6ae0b8461e04538b2f68e9167aca28b60b34dbd287674a5cdd52bd05be5797bbe2f7de916231958cb58055fb#npm:2.6.8", {\ + "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-4c40075230/0/cache/node-fetch-npm-2.6.8-ddb8bfc274-91f57be68e.zip/node_modules/node-fetch/",\ + "packageDependencies": [\ + ["node-fetch", "virtual:1811160047d7e0f7e43f371e07920c11204416dd6ae0b8461e04538b2f68e9167aca28b60b34dbd287674a5cdd52bd05be5797bbe2f7de916231958cb58055fb#npm:2.6.8"],\ + ["@types/encoding", null],\ + ["encoding", null],\ + ["whatwg-url", "npm:5.0.0"]\ + ],\ + "packagePeers": [\ + "@types/encoding",\ + "encoding"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-gyp", [\ + ["npm:9.3.1", {\ + "packageLocation": "./.yarn/unplugged/node-gyp-npm-9.3.1-43540bab9c/node_modules/node-gyp/",\ + "packageDependencies": [\ + ["node-gyp", "npm:9.3.1"],\ + ["env-paths", "npm:2.2.1"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["make-fetch-happen", "npm:10.2.1"],\ + ["nopt", "npm:6.0.0"],\ + ["npmlog", "npm:6.0.2"],\ + ["rimraf", "npm:3.0.2"],\ + ["semver", "npm:7.3.8"],\ + ["tar", "npm:6.1.13"],\ + ["which", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nodemailer", [\ + ["npm:6.9.0", {\ + "packageLocation": "./.yarn/cache/nodemailer-npm-6.9.0-67d1056668-152d38de71.zip/node_modules/nodemailer/",\ + "packageDependencies": [\ + ["nodemailer", "npm:6.9.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nopt", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/nopt-npm-5.0.0-304b40fbfe-d35fdec187.zip/node_modules/nopt/",\ + "packageDependencies": [\ + ["nopt", "npm:5.0.0"],\ + ["abbrev", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/nopt-npm-6.0.0-5ea8050815-82149371f8.zip/node_modules/nopt/",\ + "packageDependencies": [\ + ["nopt", "npm:6.0.0"],\ + ["abbrev", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npmlog", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/npmlog-npm-5.0.1-366cab64a2-516b266302.zip/node_modules/npmlog/",\ + "packageDependencies": [\ + ["npmlog", "npm:5.0.1"],\ + ["are-we-there-yet", "npm:2.0.0"],\ + ["console-control-strings", "npm:1.1.0"],\ + ["gauge", "npm:3.0.2"],\ + ["set-blocking", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.2", {\ + "packageLocation": "./.yarn/cache/npmlog-npm-6.0.2-e0e69455c7-ae238cd264.zip/node_modules/npmlog/",\ + "packageDependencies": [\ + ["npmlog", "npm:6.0.2"],\ + ["are-we-there-yet", "npm:3.0.1"],\ + ["console-control-strings", "npm:1.1.0"],\ + ["gauge", "npm:4.0.4"],\ + ["set-blocking", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["object-assign", [\ ["npm:4.1.1", {\ "packageLocation": "./.yarn/cache/object-assign-npm-4.1.1-1004ad6dec-fcc6e4ea8c.zip/node_modules/object-assign/",\ @@ -2535,6 +3505,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["on-exit-leak-free", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/on-exit-leak-free-npm-2.1.0-b522202aa1-7334d98b87.zip/node_modules/on-exit-leak-free/",\ + "packageDependencies": [\ + ["on-exit-leak-free", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["once", [\ ["npm:1.4.0", {\ "packageLocation": "./.yarn/cache/once-npm-1.4.0-ccf03ef07a-cd0a885013.zip/node_modules/once/",\ @@ -2592,6 +3571,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["p-map", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/p-map-npm-4.0.0-4677ae07c7-cb0ab21ec0.zip/node_modules/p-map/",\ + "packageDependencies": [\ + ["p-map", "npm:4.0.0"],\ + ["aggregate-error", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["parent-module", [\ ["npm:1.0.1", {\ "packageLocation": "./.yarn/cache/parent-module-npm-1.0.1-1fae11b095-6ba8b25514.zip/node_modules/parent-module/",\ @@ -2665,6 +3654,46 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["pino", [\ + ["npm:8.8.0", {\ + "packageLocation": "./.yarn/cache/pino-npm-8.8.0-827ae46607-6925646922.zip/node_modules/pino/",\ + "packageDependencies": [\ + ["pino", "npm:8.8.0"],\ + ["atomic-sleep", "npm:1.0.0"],\ + ["fast-redact", "npm:3.1.2"],\ + ["on-exit-leak-free", "npm:2.1.0"],\ + ["pino-abstract-transport", "npm:1.0.0"],\ + ["pino-std-serializers", "npm:6.1.0"],\ + ["process-warning", "npm:2.1.0"],\ + ["quick-format-unescaped", "npm:4.0.4"],\ + ["real-require", "npm:0.2.0"],\ + ["safe-stable-stringify", "npm:2.4.2"],\ + ["sonic-boom", "npm:3.2.1"],\ + ["thread-stream", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pino-abstract-transport", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/pino-abstract-transport-npm-1.0.0-a566611547-05dd0eda52.zip/node_modules/pino-abstract-transport/",\ + "packageDependencies": [\ + ["pino-abstract-transport", "npm:1.0.0"],\ + ["readable-stream", "npm:4.3.0"],\ + ["split2", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pino-std-serializers", [\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/cache/pino-std-serializers-npm-6.1.0-849611aa5b-5e42327c24.zip/node_modules/pino-std-serializers/",\ + "packageDependencies": [\ + ["pino-std-serializers", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["postcss", [\ ["npm:8.4.14", {\ "packageLocation": "./.yarn/cache/postcss-npm-8.4.14-c0d448b728-fe58766ff3.zip/node_modules/postcss/",\ @@ -2686,6 +3715,57 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["process", [\ + ["npm:0.11.10", {\ + "packageLocation": "./.yarn/cache/process-npm-0.11.10-aeb3b641ae-bfcce49814.zip/node_modules/process/",\ + "packageDependencies": [\ + ["process", "npm:0.11.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["process-warning", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/process-warning-npm-2.1.0-9e82ce3778-2f22a3b8ec.zip/node_modules/process-warning/",\ + "packageDependencies": [\ + ["process-warning", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["promise-inflight", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/promise-inflight-npm-1.0.1-5bb925afac-2274948309.zip/node_modules/promise-inflight/",\ + "packageDependencies": [\ + ["promise-inflight", "npm:1.0.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4e2088ed0df52533102f445d7e7aeba6560b7effa0cabbc7cc20dd1e36a86dd838cc541de4414688f4ce3ec77b0ad5298cea6de581350d934ceb35c3e0fe3462#npm:1.0.1", {\ + "packageLocation": "./.yarn/__virtual__/promise-inflight-virtual-faec2dbb37/0/cache/promise-inflight-npm-1.0.1-5bb925afac-2274948309.zip/node_modules/promise-inflight/",\ + "packageDependencies": [\ + ["promise-inflight", "virtual:4e2088ed0df52533102f445d7e7aeba6560b7effa0cabbc7cc20dd1e36a86dd838cc541de4414688f4ce3ec77b0ad5298cea6de581350d934ceb35c3e0fe3462#npm:1.0.1"],\ + ["@types/bluebird", null],\ + ["bluebird", null]\ + ],\ + "packagePeers": [\ + "@types/bluebird",\ + "bluebird"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["promise-retry", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-f96a3f6d90.zip/node_modules/promise-retry/",\ + "packageDependencies": [\ + ["promise-retry", "npm:2.0.1"],\ + ["err-code", "npm:2.0.3"],\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["prop-types", [\ ["npm:15.8.1", {\ "packageLocation": "./.yarn/cache/prop-types-npm-15.8.1-17c71ee7ee-c056d3f1c0.zip/node_modules/prop-types/",\ @@ -2716,6 +3796,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["quick-format-unescaped", [\ + ["npm:4.0.4", {\ + "packageLocation": "./.yarn/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-7bc32b9935.zip/node_modules/quick-format-unescaped/",\ + "packageDependencies": [\ + ["quick-format-unescaped", "npm:4.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["react", [\ ["npm:18.2.0", {\ "packageLocation": "./.yarn/cache/react-npm-18.2.0-1eae08fee2-88e38092da.zip/node_modules/react/",\ @@ -2759,6 +3848,38 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["readable-stream", [\ + ["npm:3.6.0", {\ + "packageLocation": "./.yarn/cache/readable-stream-npm-3.6.0-23a4a5eb56-d4ea81502d.zip/node_modules/readable-stream/",\ + "packageDependencies": [\ + ["readable-stream", "npm:3.6.0"],\ + ["inherits", "npm:2.0.4"],\ + ["string_decoder", "npm:1.3.0"],\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.3.0", {\ + "packageLocation": "./.yarn/cache/readable-stream-npm-4.3.0-11c60fc281-5f8d5fc1eb.zip/node_modules/readable-stream/",\ + "packageDependencies": [\ + ["readable-stream", "npm:4.3.0"],\ + ["abort-controller", "npm:3.0.0"],\ + ["buffer", "npm:6.0.3"],\ + ["events", "npm:3.3.0"],\ + ["process", "npm:0.11.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["real-require", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/real-require-npm-0.2.0-7f69dbc7b6-fa060f19f2.zip/node_modules/real-require/",\ + "packageDependencies": [\ + ["real-require", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["regenerator-runtime", [\ ["npm:0.13.11", {\ "packageLocation": "./.yarn/cache/regenerator-runtime-npm-0.13.11-90bf536060-27481628d2.zip/node_modules/regenerator-runtime/",\ @@ -2820,6 +3941,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["retry", [\ + ["npm:0.12.0", {\ + "packageLocation": "./.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip/node_modules/retry/",\ + "packageDependencies": [\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["reusify", [\ ["npm:1.0.4", {\ "packageLocation": "./.yarn/cache/reusify-npm-1.0.4-95ac4aec11-c3076ebcc2.zip/node_modules/reusify/",\ @@ -2849,6 +3979,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["safe-buffer", [\ + ["npm:5.2.1", {\ + "packageLocation": "./.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip/node_modules/safe-buffer/",\ + "packageDependencies": [\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["safe-regex-test", [\ ["npm:1.0.0", {\ "packageLocation": "./.yarn/cache/safe-regex-test-npm-1.0.0-e94a09b84e-bc566d8beb.zip/node_modules/safe-regex-test/",\ @@ -2861,6 +4000,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["safe-stable-stringify", [\ + ["npm:2.4.2", {\ + "packageLocation": "./.yarn/cache/safe-stable-stringify-npm-2.4.2-26d12f7937-0324ba2e40.zip/node_modules/safe-stable-stringify/",\ + "packageDependencies": [\ + ["safe-stable-stringify", "npm:2.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safer-buffer", [\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip/node_modules/safer-buffer/",\ + "packageDependencies": [\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["scheduler", [\ ["npm:0.23.0", {\ "packageLocation": "./.yarn/cache/scheduler-npm-0.23.0-a379a6bc3b-d79192eeaa.zip/node_modules/scheduler/",\ @@ -2888,6 +4045,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["seq-queue", [\ + ["npm:0.0.5", {\ + "packageLocation": "./.yarn/cache/seq-queue-npm-0.0.5-d5064d9793-f8695a6cb6.zip/node_modules/seq-queue/",\ + "packageDependencies": [\ + ["seq-queue", "npm:0.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-blocking", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/set-blocking-npm-2.0.0-49e2cffa24-6e65a05f7c.zip/node_modules/set-blocking/",\ + "packageDependencies": [\ + ["set-blocking", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["shebang-command", [\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip/node_modules/shebang-command/",\ @@ -2919,6 +4094,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["signal-exit", [\ + ["npm:3.0.7", {\ + "packageLocation": "./.yarn/cache/signal-exit-npm-3.0.7-bd270458a3-a2f098f247.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:3.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["slash", [\ ["npm:3.0.0", {\ "packageLocation": "./.yarn/cache/slash-npm-3.0.0-b87de2279a-94a93fff61.zip/node_modules/slash/",\ @@ -2935,6 +4119,57 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["smart-buffer", [\ + ["npm:4.2.0", {\ + "packageLocation": "./.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-b5167a7142.zip/node_modules/smart-buffer/",\ + "packageDependencies": [\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks", [\ + ["npm:2.7.1", {\ + "packageLocation": "./.yarn/cache/socks-npm-2.7.1-17f2b53052-259d9e3e8e.zip/node_modules/socks/",\ + "packageDependencies": [\ + ["socks", "npm:2.7.1"],\ + ["ip", "npm:2.0.0"],\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks-proxy-agent", [\ + ["npm:7.0.0", {\ + "packageLocation": "./.yarn/cache/socks-proxy-agent-npm-7.0.0-7aacf32ea0-7205543701.zip/node_modules/socks-proxy-agent/",\ + "packageDependencies": [\ + ["socks-proxy-agent", "npm:7.0.0"],\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:428f325a939c2653ad822eb3d75efb02ac311523dd0d4f9645afc39ea00bd86eceac35a9d59c9b6977d76b670a4ef0ae057ea572338a44729aa592711a8c05a3#npm:4.3.4"],\ + ["socks", "npm:2.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sonic-boom", [\ + ["npm:3.2.1", {\ + "packageLocation": "./.yarn/cache/sonic-boom-npm-3.2.1-ddac56c4bc-674d0af31c.zip/node_modules/sonic-boom/",\ + "packageDependencies": [\ + ["sonic-boom", "npm:3.2.1"],\ + ["atomic-sleep", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map", [\ + ["npm:0.6.1", {\ + "packageLocation": "./.yarn/cache/source-map-npm-0.6.1-1a3621db16-59ce8640cf.zip/node_modules/source-map/",\ + "packageDependencies": [\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["source-map-js", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/source-map-js-npm-1.0.2-ee4f9f9b30-c049a7fc4d.zip/node_modules/source-map-js/",\ @@ -2944,6 +4179,34 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["split2", [\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/split2-npm-4.1.0-1c1a4bd984-ec581597cb.zip/node_modules/split2/",\ + "packageDependencies": [\ + ["split2", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sqlstring", [\ + ["npm:2.3.3", {\ + "packageLocation": "./.yarn/cache/sqlstring-npm-2.3.3-2db6939570-1e7e2d51c3.zip/node_modules/sqlstring/",\ + "packageDependencies": [\ + ["sqlstring", "npm:2.3.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ssri", [\ + ["npm:9.0.1", {\ + "packageLocation": "./.yarn/cache/ssri-npm-9.0.1-33ce27f4f8-fb58f5e46b.zip/node_modules/ssri/",\ + "packageDependencies": [\ + ["ssri", "npm:9.0.1"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["stop-iteration-iterator", [\ ["npm:1.0.0", {\ "packageLocation": "./.yarn/cache/stop-iteration-iterator-npm-1.0.0-ea451e1609-d04173690b.zip/node_modules/stop-iteration-iterator/",\ @@ -2954,6 +4217,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["string-width", [\ + ["npm:4.2.3", {\ + "packageLocation": "./.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:4.2.3"],\ + ["emoji-regex", "npm:8.0.0"],\ + ["is-fullwidth-code-point", "npm:3.0.0"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["string.prototype.matchall", [\ ["npm:4.0.8", {\ "packageLocation": "./.yarn/cache/string.prototype.matchall-npm-4.0.8-1feb1531b6-952da3a818.zip/node_modules/string.prototype.matchall/",\ @@ -2995,6 +4270,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["string_decoder", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/string_decoder-npm-1.3.0-2422117fd0-8417646695.zip/node_modules/string_decoder/",\ + "packageDependencies": [\ + ["string_decoder", "npm:1.3.0"],\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["strip-ansi", [\ ["npm:6.0.1", {\ "packageLocation": "./.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-f3cd25890a.zip/node_modules/strip-ansi/",\ @@ -3093,6 +4378,21 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["tar", [\ + ["npm:6.1.13", {\ + "packageLocation": "./.yarn/cache/tar-npm-6.1.13-3234e72781-8a278bed12.zip/node_modules/tar/",\ + "packageDependencies": [\ + ["tar", "npm:6.1.13"],\ + ["chownr", "npm:2.0.0"],\ + ["fs-minipass", "npm:2.1.0"],\ + ["minipass", "npm:4.0.0"],\ + ["minizlib", "npm:2.1.2"],\ + ["mkdirp", "npm:1.0.4"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["text-table", [\ ["npm:0.2.0", {\ "packageLocation": "./.yarn/cache/text-table-npm-0.2.0-d92a778b59-b6937a38c8.zip/node_modules/text-table/",\ @@ -3102,6 +4402,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["thread-stream", [\ + ["npm:2.3.0", {\ + "packageLocation": "./.yarn/cache/thread-stream-npm-2.3.0-77ee67ae69-e9ea58f9f3.zip/node_modules/thread-stream/",\ + "packageDependencies": [\ + ["thread-stream", "npm:2.3.0"],\ + ["real-require", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["tiny-glob", [\ ["npm:0.2.9", {\ "packageLocation": "./.yarn/cache/tiny-glob-npm-0.2.9-068f4ab3f8-aea5801eb6.zip/node_modules/tiny-glob/",\ @@ -3123,6 +4433,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["tr46", [\ + ["npm:0.0.3", {\ + "packageLocation": "./.yarn/cache/tr46-npm-0.0.3-de53018915-726321c5ea.zip/node_modules/tr46/",\ + "packageDependencies": [\ + ["tr46", "npm:0.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["tsconfig-paths", [\ ["npm:3.14.1", {\ "packageLocation": "./.yarn/cache/tsconfig-paths-npm-3.14.1-17a815b5c5-8afa01c673.zip/node_modules/tsconfig-paths/",\ @@ -3215,6 +4534,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["uglify-js", [\ + ["npm:3.17.4", {\ + "packageLocation": "./.yarn/cache/uglify-js-npm-3.17.4-58d4ab56aa-7b3897df38.zip/node_modules/uglify-js/",\ + "packageDependencies": [\ + ["uglify-js", "npm:3.17.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["unbox-primitive", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/unbox-primitive-npm-1.0.2-cb56a05066-b7a1cf5862.zip/node_modules/unbox-primitive/",\ @@ -3228,6 +4556,26 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["unique-filename", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/unique-filename-npm-2.0.1-183c6c7c2b-807acf3381.zip/node_modules/unique-filename/",\ + "packageDependencies": [\ + ["unique-filename", "npm:2.0.1"],\ + ["unique-slug", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-slug", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/unique-slug-npm-3.0.0-0b82e51577-49f8d915ba.zip/node_modules/unique-slug/",\ + "packageDependencies": [\ + ["unique-slug", "npm:3.0.0"],\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["uri-js", [\ ["npm:4.4.1", {\ "packageLocation": "./.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-7167432de6.zip/node_modules/uri-js/",\ @@ -3238,6 +4586,35 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["util-deprecate", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip/node_modules/util-deprecate/",\ + "packageDependencies": [\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["webidl-conversions", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/webidl-conversions-npm-3.0.1-60310f6a2b-c92a0a6ab9.zip/node_modules/webidl-conversions/",\ + "packageDependencies": [\ + ["webidl-conversions", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["whatwg-url", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/whatwg-url-npm-5.0.0-374fb45e60-b8daed4ad3.zip/node_modules/whatwg-url/",\ + "packageDependencies": [\ + ["whatwg-url", "npm:5.0.0"],\ + ["tr46", "npm:0.0.3"],\ + ["webidl-conversions", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["which", [\ ["npm:2.0.2", {\ "packageLocation": "./.yarn/cache/which-npm-2.0.2-320ddf72f7-1a5c563d3c.zip/node_modules/which/",\ @@ -3290,6 +4667,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["wide-align", [\ + ["npm:1.1.5", {\ + "packageLocation": "./.yarn/cache/wide-align-npm-1.1.5-889d77e592-d5fc37cd56.zip/node_modules/wide-align/",\ + "packageDependencies": [\ + ["wide-align", "npm:1.1.5"],\ + ["string-width", "npm:4.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["word-wrap", [\ ["npm:1.2.3", {\ "packageLocation": "./.yarn/cache/word-wrap-npm-1.2.3-7fb15ab002-30b48f91fc.zip/node_modules/word-wrap/",\ @@ -3299,6 +4686,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD"\ }]\ ]],\ + ["wordwrap", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/wordwrap-npm-1.0.0-ae57a645e8-2a44b27881.zip/node_modules/wordwrap/",\ + "packageDependencies": [\ + ["wordwrap", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ ["wrappy", [\ ["npm:1.0.2", {\ "packageLocation": "./.yarn/cache/wrappy-npm-1.0.2-916de4d4b3-159da4805f.zip/node_modules/wrappy/",\ diff --git a/.yarn/cache/@gar-promisify-npm-1.1.3-ac1a325862-4059f790e2.zip b/.yarn/cache/@gar-promisify-npm-1.1.3-ac1a325862-4059f790e2.zip Binary files differ. diff --git a/.yarn/cache/@mapbox-node-pre-gyp-npm-1.0.10-1811160047-1a98db05d9.zip b/.yarn/cache/@mapbox-node-pre-gyp-npm-1.0.10-1811160047-1a98db05d9.zip Binary files differ. diff --git a/.yarn/cache/@npmcli-fs-npm-2.1.2-08d434e77b-405074965e.zip b/.yarn/cache/@npmcli-fs-npm-2.1.2-08d434e77b-405074965e.zip Binary files differ. diff --git a/.yarn/cache/@npmcli-move-file-npm-2.0.1-b593d8f741-52dc02259d.zip b/.yarn/cache/@npmcli-move-file-npm-2.0.1-b593d8f741-52dc02259d.zip Binary files differ. diff --git a/.yarn/cache/@tootallnate-once-npm-2.0.0-e36cf4f140-ad87447820.zip b/.yarn/cache/@tootallnate-once-npm-2.0.0-e36cf4f140-ad87447820.zip Binary files differ. diff --git a/.yarn/cache/@types-bcrypt-npm-5.0.0-c074c165c2-063c32c7a5.zip b/.yarn/cache/@types-bcrypt-npm-5.0.0-c074c165c2-063c32c7a5.zip Binary files differ. diff --git a/.yarn/cache/@types-jsonwebtoken-npm-9.0.1-5f660fdf38-a7f0925e9a.zip b/.yarn/cache/@types-jsonwebtoken-npm-9.0.1-5f660fdf38-a7f0925e9a.zip Binary files differ. diff --git a/.yarn/cache/@types-nodemailer-npm-6.4.7-8618621ba9-dc2a33a891.zip b/.yarn/cache/@types-nodemailer-npm-6.4.7-8618621ba9-dc2a33a891.zip Binary files differ. diff --git a/.yarn/cache/abbrev-npm-1.1.1-3659247eab-a4a97ec07d.zip b/.yarn/cache/abbrev-npm-1.1.1-3659247eab-a4a97ec07d.zip Binary files differ. diff --git a/.yarn/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-170bdba9b4.zip b/.yarn/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-170bdba9b4.zip Binary files differ. diff --git a/.yarn/cache/agent-base-npm-6.0.2-428f325a93-f52b6872cc.zip b/.yarn/cache/agent-base-npm-6.0.2-428f325a93-f52b6872cc.zip Binary files differ. diff --git a/.yarn/cache/agentkeepalive-npm-4.2.1-b86a9fb343-39cb49ed8c.zip b/.yarn/cache/agentkeepalive-npm-4.2.1-b86a9fb343-39cb49ed8c.zip Binary files differ. diff --git a/.yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zip b/.yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zip Binary files differ. diff --git a/.yarn/cache/aproba-npm-2.0.0-8716bcfde6-5615cadcfb.zip b/.yarn/cache/aproba-npm-2.0.0-8716bcfde6-5615cadcfb.zip Binary files differ. diff --git a/.yarn/cache/are-we-there-yet-npm-2.0.0-7d2f5201ce-6c80b4fd04.zip b/.yarn/cache/are-we-there-yet-npm-2.0.0-7d2f5201ce-6c80b4fd04.zip Binary files differ. diff --git a/.yarn/cache/are-we-there-yet-npm-3.0.1-3395b1512f-52590c2486.zip b/.yarn/cache/are-we-there-yet-npm-3.0.1-3395b1512f-52590c2486.zip Binary files differ. diff --git a/.yarn/cache/atomic-sleep-npm-1.0.0-17d8a762a3-b95275afb2.zip b/.yarn/cache/atomic-sleep-npm-1.0.0-17d8a762a3-b95275afb2.zip Binary files differ. diff --git a/.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip b/.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip Binary files differ. diff --git a/.yarn/cache/bcrypt-npm-5.1.0-2a4230b3eb-a590b65d27.zip b/.yarn/cache/bcrypt-npm-5.1.0-2a4230b3eb-a590b65d27.zip Binary files differ. diff --git a/.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip b/.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip Binary files differ. diff --git a/.yarn/cache/buffer-equal-constant-time-npm-1.0.1-41826f3419-80bb945f5d.zip b/.yarn/cache/buffer-equal-constant-time-npm-1.0.1-41826f3419-80bb945f5d.zip Binary files differ. diff --git a/.yarn/cache/buffer-npm-6.0.3-cd90dfedfe-5ad23293d9.zip b/.yarn/cache/buffer-npm-6.0.3-cd90dfedfe-5ad23293d9.zip Binary files differ. diff --git a/.yarn/cache/cacache-npm-16.1.3-4e2088ed0d-d91409e6e5.zip b/.yarn/cache/cacache-npm-16.1.3-4e2088ed0d-d91409e6e5.zip Binary files differ. diff --git a/.yarn/cache/chownr-npm-2.0.0-638f1c9c61-c57cf9dd07.zip b/.yarn/cache/chownr-npm-2.0.0-638f1c9c61-c57cf9dd07.zip Binary files differ. diff --git a/.yarn/cache/clean-stack-npm-2.2.0-a8ce435a5c-2ac8cd2b2f.zip b/.yarn/cache/clean-stack-npm-2.2.0-a8ce435a5c-2ac8cd2b2f.zip Binary files differ. diff --git a/.yarn/cache/color-support-npm-1.1.3-3be5c53455-9b73568176.zip b/.yarn/cache/color-support-npm-1.1.3-3be5c53455-9b73568176.zip Binary files differ. diff --git a/.yarn/cache/console-control-strings-npm-1.1.0-e3160e5275-8755d76787.zip b/.yarn/cache/console-control-strings-npm-1.1.0-e3160e5275-8755d76787.zip Binary files differ. diff --git a/.yarn/cache/delegates-npm-1.0.0-9b1942d75f-a51744d9b5.zip b/.yarn/cache/delegates-npm-1.0.0-9b1942d75f-a51744d9b5.zip Binary files differ. diff --git a/.yarn/cache/denque-npm-2.1.0-578d0b6297-1d4ae1d05e.zip b/.yarn/cache/denque-npm-2.1.0-578d0b6297-1d4ae1d05e.zip Binary files differ. diff --git a/.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip b/.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip Binary files differ. diff --git a/.yarn/cache/detect-libc-npm-2.0.1-2699cb2ac4-ccb05fcabb.zip b/.yarn/cache/detect-libc-npm-2.0.1-2699cb2ac4-ccb05fcabb.zip Binary files differ. diff --git a/.yarn/cache/ecdsa-sig-formatter-npm-1.0.11-b6784e7852-207f9ab1c2.zip b/.yarn/cache/ecdsa-sig-formatter-npm-1.0.11-b6784e7852-207f9ab1c2.zip Binary files differ. diff --git a/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip b/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip Binary files differ. diff --git a/.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip b/.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip Binary files differ. diff --git a/.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip b/.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip Binary files differ. diff --git a/.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-8b7b1be20d.zip b/.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-8b7b1be20d.zip Binary files differ. diff --git a/.yarn/cache/event-target-shim-npm-5.0.1-cb48709025-1ffe3bb22a.zip b/.yarn/cache/event-target-shim-npm-5.0.1-cb48709025-1ffe3bb22a.zip Binary files differ. diff --git a/.yarn/cache/events-npm-3.3.0-c280bc7e48-f6f487ad21.zip b/.yarn/cache/events-npm-3.3.0-c280bc7e48-f6f487ad21.zip Binary files differ. diff --git a/.yarn/cache/fast-redact-npm-3.1.2-e090ce0184-a30eb6b683.zip b/.yarn/cache/fast-redact-npm-3.1.2-e090ce0184-a30eb6b683.zip Binary files differ. diff --git a/.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip b/.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip Binary files differ. diff --git a/.yarn/cache/gauge-npm-3.0.2-9e22f7af9e-81296c00c7.zip b/.yarn/cache/gauge-npm-3.0.2-9e22f7af9e-81296c00c7.zip Binary files differ. diff --git a/.yarn/cache/gauge-npm-4.0.4-8f878385e9-788b6bfe52.zip b/.yarn/cache/gauge-npm-4.0.4-8f878385e9-788b6bfe52.zip Binary files differ. diff --git a/.yarn/cache/generate-function-npm-2.3.1-c839dc559c-652f083de2.zip b/.yarn/cache/generate-function-npm-2.3.1-c839dc559c-652f083de2.zip Binary files differ. diff --git a/.yarn/cache/glob-npm-8.1.0-65f64af8b1-92fbea3221.zip b/.yarn/cache/glob-npm-8.1.0-65f64af8b1-92fbea3221.zip Binary files differ. diff --git a/.yarn/cache/handlebars-npm-4.7.7-a9ccfabf80-1e79a43f5e.zip b/.yarn/cache/handlebars-npm-4.7.7-a9ccfabf80-1e79a43f5e.zip Binary files differ. diff --git a/.yarn/cache/has-unicode-npm-2.0.1-893adb4747-1eab07a743.zip b/.yarn/cache/has-unicode-npm-2.0.1-893adb4747-1eab07a743.zip Binary files differ. diff --git a/.yarn/cache/http-cache-semantics-npm-4.1.0-860520a31f-974de94a81.zip b/.yarn/cache/http-cache-semantics-npm-4.1.0-860520a31f-974de94a81.zip Binary files differ. diff --git a/.yarn/cache/http-proxy-agent-npm-5.0.0-7f1f121b83-e2ee1ff165.zip b/.yarn/cache/http-proxy-agent-npm-5.0.0-7f1f121b83-e2ee1ff165.zip Binary files differ. diff --git a/.yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-571fccdf38.zip b/.yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-571fccdf38.zip Binary files differ. diff --git a/.yarn/cache/humanize-ms-npm-1.2.1-e942bd7329-9c7a74a282.zip b/.yarn/cache/humanize-ms-npm-1.2.1-e942bd7329-9c7a74a282.zip Binary files differ. diff --git a/.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip b/.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip Binary files differ. diff --git a/.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip b/.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip Binary files differ. diff --git a/.yarn/cache/indent-string-npm-4.0.0-7b717435b2-824cfb9929.zip b/.yarn/cache/indent-string-npm-4.0.0-7b717435b2-824cfb9929.zip Binary files differ. diff --git a/.yarn/cache/infer-owner-npm-1.0.4-685ac3d2af-181e732764.zip b/.yarn/cache/infer-owner-npm-1.0.4-685ac3d2af-181e732764.zip Binary files differ. diff --git a/.yarn/cache/ip-npm-2.0.0-204facb3cc-cfcfac6b87.zip b/.yarn/cache/ip-npm-2.0.0-204facb3cc-cfcfac6b87.zip Binary files differ. diff --git a/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip b/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip Binary files differ. diff --git a/.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip b/.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip Binary files differ. diff --git a/.yarn/cache/is-property-npm-1.0.2-6eac53b30e-33b661a369.zip b/.yarn/cache/is-property-npm-1.0.2-6eac53b30e-33b661a369.zip Binary files differ. diff --git a/.yarn/cache/jsonwebtoken-npm-9.0.0-36fd1594c0-b9181cecf9.zip b/.yarn/cache/jsonwebtoken-npm-9.0.0-36fd1594c0-b9181cecf9.zip Binary files differ. diff --git a/.yarn/cache/jwa-npm-1.4.1-4f19d6572c-ff30ea7c2d.zip b/.yarn/cache/jwa-npm-1.4.1-4f19d6572c-ff30ea7c2d.zip Binary files differ. diff --git a/.yarn/cache/jws-npm-3.2.2-c1ae59c7af-f0213fe5b7.zip b/.yarn/cache/jws-npm-3.2.2-c1ae59c7af-f0213fe5b7.zip Binary files differ. diff --git a/.yarn/cache/lodash-npm-4.17.21-6382451519-eb835a2e51.zip b/.yarn/cache/lodash-npm-4.17.21-6382451519-eb835a2e51.zip Binary files differ. diff --git a/.yarn/cache/long-npm-5.2.1-3a12730171-9264da12d1.zip b/.yarn/cache/long-npm-5.2.1-3a12730171-9264da12d1.zip Binary files differ. diff --git a/.yarn/cache/lru-cache-npm-7.14.1-d3ba9407b6-d72c6713c6.zip b/.yarn/cache/lru-cache-npm-7.14.1-d3ba9407b6-d72c6713c6.zip Binary files differ. diff --git a/.yarn/cache/make-dir-npm-3.1.0-d1d7505142-484200020a.zip b/.yarn/cache/make-dir-npm-3.1.0-d1d7505142-484200020a.zip Binary files differ. diff --git a/.yarn/cache/make-fetch-happen-npm-10.2.1-f1cc7cd2df-2332eb9a8e.zip b/.yarn/cache/make-fetch-happen-npm-10.2.1-f1cc7cd2df-2332eb9a8e.zip Binary files differ. diff --git a/.yarn/cache/minimatch-npm-5.1.4-3009c246b4-0de6d7d154.zip b/.yarn/cache/minimatch-npm-5.1.4-3009c246b4-0de6d7d154.zip Binary files differ. diff --git a/.yarn/cache/minipass-collect-npm-1.0.2-3b4676eab5-14df761028.zip b/.yarn/cache/minipass-collect-npm-1.0.2-3b4676eab5-14df761028.zip Binary files differ. diff --git a/.yarn/cache/minipass-fetch-npm-2.1.2-9b21a5c930-3f216be791.zip b/.yarn/cache/minipass-fetch-npm-2.1.2-9b21a5c930-3f216be791.zip Binary files differ. diff --git a/.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip b/.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip Binary files differ. diff --git a/.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a30d083c80.zip b/.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a30d083c80.zip Binary files differ. diff --git a/.yarn/cache/minipass-npm-4.0.0-2520d5ae3c-7a609afbf3.zip b/.yarn/cache/minipass-npm-4.0.0-2520d5ae3c-7a609afbf3.zip Binary files differ. diff --git a/.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip b/.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip Binary files differ. diff --git a/.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-79076749fc.zip b/.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-79076749fc.zip Binary files differ. diff --git a/.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-f1fdeac0b0.zip b/.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-f1fdeac0b0.zip Binary files differ. diff --git a/.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-a96865108c.zip b/.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-a96865108c.zip Binary files differ. diff --git a/.yarn/cache/mysql2-npm-3.0.1-ceda50bb4d-3b724df78d.zip b/.yarn/cache/mysql2-npm-3.0.1-ceda50bb4d-3b724df78d.zip Binary files differ. diff --git a/.yarn/cache/named-placeholders-npm-1.1.3-1b385febe5-7834adc91e.zip b/.yarn/cache/named-placeholders-npm-1.1.3-1b385febe5-7834adc91e.zip Binary files differ. diff --git a/.yarn/cache/nanoid-npm-4.0.0-924f5c6312-7d5946df5c.zip b/.yarn/cache/nanoid-npm-4.0.0-924f5c6312-7d5946df5c.zip Binary files differ. diff --git a/.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip b/.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip Binary files differ. diff --git a/.yarn/cache/neo-async-npm-2.6.2-75d6902586-deac9f8d00.zip b/.yarn/cache/neo-async-npm-2.6.2-75d6902586-deac9f8d00.zip Binary files differ. diff --git a/.yarn/cache/node-addon-api-npm-5.1.0-b50d00f739-2508bd2d29.zip b/.yarn/cache/node-addon-api-npm-5.1.0-b50d00f739-2508bd2d29.zip Binary files differ. diff --git a/.yarn/cache/node-fetch-npm-2.6.8-ddb8bfc274-91f57be68e.zip b/.yarn/cache/node-fetch-npm-2.6.8-ddb8bfc274-91f57be68e.zip Binary files differ. diff --git a/.yarn/cache/node-gyp-npm-9.3.1-43540bab9c-b860e9976f.zip b/.yarn/cache/node-gyp-npm-9.3.1-43540bab9c-b860e9976f.zip Binary files differ. diff --git a/.yarn/cache/nodemailer-npm-6.9.0-67d1056668-152d38de71.zip b/.yarn/cache/nodemailer-npm-6.9.0-67d1056668-152d38de71.zip Binary files differ. diff --git a/.yarn/cache/nopt-npm-5.0.0-304b40fbfe-d35fdec187.zip b/.yarn/cache/nopt-npm-5.0.0-304b40fbfe-d35fdec187.zip Binary files differ. diff --git a/.yarn/cache/nopt-npm-6.0.0-5ea8050815-82149371f8.zip b/.yarn/cache/nopt-npm-6.0.0-5ea8050815-82149371f8.zip Binary files differ. diff --git a/.yarn/cache/npmlog-npm-5.0.1-366cab64a2-516b266302.zip b/.yarn/cache/npmlog-npm-5.0.1-366cab64a2-516b266302.zip Binary files differ. diff --git a/.yarn/cache/npmlog-npm-6.0.2-e0e69455c7-ae238cd264.zip b/.yarn/cache/npmlog-npm-6.0.2-e0e69455c7-ae238cd264.zip Binary files differ. diff --git a/.yarn/cache/on-exit-leak-free-npm-2.1.0-b522202aa1-7334d98b87.zip b/.yarn/cache/on-exit-leak-free-npm-2.1.0-b522202aa1-7334d98b87.zip Binary files differ. diff --git a/.yarn/cache/p-map-npm-4.0.0-4677ae07c7-cb0ab21ec0.zip b/.yarn/cache/p-map-npm-4.0.0-4677ae07c7-cb0ab21ec0.zip Binary files differ. diff --git a/.yarn/cache/pino-abstract-transport-npm-1.0.0-a566611547-05dd0eda52.zip b/.yarn/cache/pino-abstract-transport-npm-1.0.0-a566611547-05dd0eda52.zip Binary files differ. diff --git a/.yarn/cache/pino-npm-8.8.0-827ae46607-6925646922.zip b/.yarn/cache/pino-npm-8.8.0-827ae46607-6925646922.zip Binary files differ. diff --git a/.yarn/cache/pino-std-serializers-npm-6.1.0-849611aa5b-5e42327c24.zip b/.yarn/cache/pino-std-serializers-npm-6.1.0-849611aa5b-5e42327c24.zip Binary files differ. diff --git a/.yarn/cache/process-npm-0.11.10-aeb3b641ae-bfcce49814.zip b/.yarn/cache/process-npm-0.11.10-aeb3b641ae-bfcce49814.zip Binary files differ. diff --git a/.yarn/cache/process-warning-npm-2.1.0-9e82ce3778-2f22a3b8ec.zip b/.yarn/cache/process-warning-npm-2.1.0-9e82ce3778-2f22a3b8ec.zip Binary files differ. diff --git a/.yarn/cache/promise-inflight-npm-1.0.1-5bb925afac-2274948309.zip b/.yarn/cache/promise-inflight-npm-1.0.1-5bb925afac-2274948309.zip Binary files differ. diff --git a/.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-f96a3f6d90.zip b/.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-f96a3f6d90.zip Binary files differ. diff --git a/.yarn/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-7bc32b9935.zip b/.yarn/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-7bc32b9935.zip Binary files differ. diff --git a/.yarn/cache/readable-stream-npm-3.6.0-23a4a5eb56-d4ea81502d.zip b/.yarn/cache/readable-stream-npm-3.6.0-23a4a5eb56-d4ea81502d.zip Binary files differ. diff --git a/.yarn/cache/readable-stream-npm-4.3.0-11c60fc281-5f8d5fc1eb.zip b/.yarn/cache/readable-stream-npm-4.3.0-11c60fc281-5f8d5fc1eb.zip Binary files differ. diff --git a/.yarn/cache/real-require-npm-0.2.0-7f69dbc7b6-fa060f19f2.zip b/.yarn/cache/real-require-npm-0.2.0-7f69dbc7b6-fa060f19f2.zip Binary files differ. diff --git a/.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip b/.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip Binary files differ. diff --git a/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip b/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip Binary files differ. diff --git a/.yarn/cache/safe-stable-stringify-npm-2.4.2-26d12f7937-0324ba2e40.zip b/.yarn/cache/safe-stable-stringify-npm-2.4.2-26d12f7937-0324ba2e40.zip Binary files differ. diff --git a/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip b/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip Binary files differ. diff --git a/.yarn/cache/seq-queue-npm-0.0.5-d5064d9793-f8695a6cb6.zip b/.yarn/cache/seq-queue-npm-0.0.5-d5064d9793-f8695a6cb6.zip Binary files differ. diff --git a/.yarn/cache/set-blocking-npm-2.0.0-49e2cffa24-6e65a05f7c.zip b/.yarn/cache/set-blocking-npm-2.0.0-49e2cffa24-6e65a05f7c.zip Binary files differ. diff --git a/.yarn/cache/signal-exit-npm-3.0.7-bd270458a3-a2f098f247.zip b/.yarn/cache/signal-exit-npm-3.0.7-bd270458a3-a2f098f247.zip Binary files differ. diff --git a/.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-b5167a7142.zip b/.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-b5167a7142.zip Binary files differ. diff --git a/.yarn/cache/socks-npm-2.7.1-17f2b53052-259d9e3e8e.zip b/.yarn/cache/socks-npm-2.7.1-17f2b53052-259d9e3e8e.zip Binary files differ. diff --git a/.yarn/cache/socks-proxy-agent-npm-7.0.0-7aacf32ea0-7205543701.zip b/.yarn/cache/socks-proxy-agent-npm-7.0.0-7aacf32ea0-7205543701.zip Binary files differ. diff --git a/.yarn/cache/sonic-boom-npm-3.2.1-ddac56c4bc-674d0af31c.zip b/.yarn/cache/sonic-boom-npm-3.2.1-ddac56c4bc-674d0af31c.zip Binary files differ. diff --git a/.yarn/cache/source-map-npm-0.6.1-1a3621db16-59ce8640cf.zip b/.yarn/cache/source-map-npm-0.6.1-1a3621db16-59ce8640cf.zip Binary files differ. diff --git a/.yarn/cache/split2-npm-4.1.0-1c1a4bd984-ec581597cb.zip b/.yarn/cache/split2-npm-4.1.0-1c1a4bd984-ec581597cb.zip Binary files differ. diff --git a/.yarn/cache/sqlstring-npm-2.3.3-2db6939570-1e7e2d51c3.zip b/.yarn/cache/sqlstring-npm-2.3.3-2db6939570-1e7e2d51c3.zip Binary files differ. diff --git a/.yarn/cache/ssri-npm-9.0.1-33ce27f4f8-fb58f5e46b.zip b/.yarn/cache/ssri-npm-9.0.1-33ce27f4f8-fb58f5e46b.zip Binary files differ. diff --git a/.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip b/.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip Binary files differ. diff --git a/.yarn/cache/string_decoder-npm-1.3.0-2422117fd0-8417646695.zip b/.yarn/cache/string_decoder-npm-1.3.0-2422117fd0-8417646695.zip Binary files differ. diff --git a/.yarn/cache/tar-npm-6.1.13-3234e72781-8a278bed12.zip b/.yarn/cache/tar-npm-6.1.13-3234e72781-8a278bed12.zip Binary files differ. diff --git a/.yarn/cache/thread-stream-npm-2.3.0-77ee67ae69-e9ea58f9f3.zip b/.yarn/cache/thread-stream-npm-2.3.0-77ee67ae69-e9ea58f9f3.zip Binary files differ. diff --git a/.yarn/cache/tr46-npm-0.0.3-de53018915-726321c5ea.zip b/.yarn/cache/tr46-npm-0.0.3-de53018915-726321c5ea.zip Binary files differ. diff --git a/.yarn/cache/uglify-js-npm-3.17.4-58d4ab56aa-7b3897df38.zip b/.yarn/cache/uglify-js-npm-3.17.4-58d4ab56aa-7b3897df38.zip Binary files differ. diff --git a/.yarn/cache/unique-filename-npm-2.0.1-183c6c7c2b-807acf3381.zip b/.yarn/cache/unique-filename-npm-2.0.1-183c6c7c2b-807acf3381.zip Binary files differ. diff --git a/.yarn/cache/unique-slug-npm-3.0.0-0b82e51577-49f8d915ba.zip b/.yarn/cache/unique-slug-npm-3.0.0-0b82e51577-49f8d915ba.zip Binary files differ. diff --git a/.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip b/.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip Binary files differ. diff --git a/.yarn/cache/webidl-conversions-npm-3.0.1-60310f6a2b-c92a0a6ab9.zip b/.yarn/cache/webidl-conversions-npm-3.0.1-60310f6a2b-c92a0a6ab9.zip Binary files differ. diff --git a/.yarn/cache/whatwg-url-npm-5.0.0-374fb45e60-b8daed4ad3.zip b/.yarn/cache/whatwg-url-npm-5.0.0-374fb45e60-b8daed4ad3.zip Binary files differ. diff --git a/.yarn/cache/wide-align-npm-1.1.5-889d77e592-d5fc37cd56.zip b/.yarn/cache/wide-align-npm-1.1.5-889d77e592-d5fc37cd56.zip Binary files differ. diff --git a/.yarn/cache/wordwrap-npm-1.0.0-ae57a645e8-2a44b27881.zip b/.yarn/cache/wordwrap-npm-1.0.0-ae57a645e8-2a44b27881.zip Binary files differ. diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz Binary files differ. diff --git a/lib/apierror.ts b/lib/apierror.ts @@ -0,0 +1,9 @@ +export interface ApiError { + code?: string + message?: string +} + +export const ERR_METHOD_NOT_ALLOWED: ApiError = { + code: 'method_not_allowed', + message: 'Method Not Allowed', +} diff --git a/lib/db.ts b/lib/db.ts @@ -0,0 +1,13 @@ +import mysql from 'mysql2/promise' +import * as process from 'process' + +const db = mysql.createPool({ + connectionLimit: 10, + host: process.env.WIKI_DB_HOST || 'localhost', + user: process.env.WIKI_DB_USER || 'root', + password: process.env.WIKI_DB_PASS || '', + database: process.env.WIKI_DB_NAME || 'mysql', + rowsAsArray: true, +}) + +export default db diff --git a/lib/email.ts b/lib/email.ts @@ -0,0 +1,20 @@ +import nodemailer from 'nodemailer' + +const transporter = nodemailer.createTransport({ + host: process.env.WIKI_SMTP_HOST ?? 'localhost', + port: Number(process.env.WIKI_SMTP_PORT) ?? 25, + secure: process.env.WIKI_SMTP_FORCE_TLS === 'true', + auth: { + user: process.env.WIKI_SMTP_USER ?? '', + pass: process.env.WIKI_SMTP_PASS ?? '', + } +}) + +export const sendEmail = async (to: string, subject: string, html: string) => { + return await transporter.sendMail({ + from: process.env.WIKI_SMTP_FROM, + to, + subject, + html + }) +} diff --git a/lib/email_templates.ts b/lib/email_templates.ts @@ -0,0 +1,30 @@ +import Handlebars from 'handlebars' + +export const emailTemplates = { + signupConfirmation: Handlebars.compile(` + <html> + <body> + <div style="max-width:500px;width:100%;margin:0 auto;padding:1rem;font-family:sans-serif;background-color:#fff;margin-top:40px;margin-bottom:60px;border-radius:16px;box-shadow:0px 1px 2px 0px #00000033, 0px 2px 6px 2px #0000001A"> + <h1> + 계정 만들기 + </h1> + <p> + 누군가 이 메일 주소로 회원가입을 요청했습니다.<br/> + 본인이 하신 요청이 아니라면 이 메일을 무시하셔도 괜찮습니다. + </p> + <p> + 계속하려면 아래 링크로 이동해주세요.<br/> + <a href="{{signupURL}}">{{signupURL}}</a> + </p> + <p> + 감사합니다. + </p> + </div> + </body> + </html> + `), +} + +export function getSignupConfirmationEmailHTML(signupURL: string): string { + return emailTemplates.signupConfirmation({ signupURL }) +} diff --git a/lib/models/login_info.ts b/lib/models/login_info.ts @@ -0,0 +1,49 @@ +import db from '@/lib/db' +import { OkPacket, RowDataPacket } from 'mysql2' + +export interface LoginInfo { + id: number + email: string + passwordHash: string + createdAt: Date + updatedAt: Date +} + +const SQL_GET_LOGIN_INFO_VIA_EMAIL = ` + SELECT id, email, password_hash, created_at, updated_at + FROM logins + WHERE email = ? + LIMIT 1 +` + +export async function getLoginInfoViaEmail(email: string): Promise<LoginInfo | null> { + const [rows] = await db.query<RowDataPacket[]>({ + sql: SQL_GET_LOGIN_INFO_VIA_EMAIL, + }, [email]) + + if (rows.length === 0) { + return null + } + + const row = rows[0] + return { + id: row[0], + email: row[1], + passwordHash: row[2], + createdAt: row[3], + updatedAt: row[4], + } +} + +const SQL_CREATE_LOGIN_INFO = ` + INSERT INTO logins (email, password_hash) + VALUES (?, ?) +` + +export async function createLoginInfo(email: string, passwordHash: string): Promise<number> { + const [result] = await db.query<OkPacket>({ + sql: SQL_CREATE_LOGIN_INFO, + }, [email, passwordHash]) + + return result.insertId +} diff --git a/lib/models/signup_request.ts b/lib/models/signup_request.ts @@ -0,0 +1,74 @@ +import db from '@/lib/db' +import { OkPacket, RowDataPacket } from 'mysql2' + +export interface SignupRequest { + id: number + email: string + requestedIp: string + requestedUserAgent: string + createdAt: Date + confirmedAt: Date | null +} + +const SQL_CREATE_SIGNUP_REQUEST = ` + INSERT INTO signup_requests (email, requested_ip, requested_user_agent) + VALUES (?, ?, ?) +` + +export async function createSignupRequest ( + email: string, + requestedIP: string, + requestedUserAgent: string, +): Promise<number> { + const [result] = await db.query<OkPacket>({ + sql: SQL_CREATE_SIGNUP_REQUEST, + }, [email, requestedIP, requestedUserAgent]) + + return result.insertId +} + +const SQL_GET_UNCONFIRMED_SIGNUP_REQUEST = ` + SELECT id, email, requested_ip, requested_user_agent, created_at, confirmed_at + FROM signup_requests + WHERE id = ? + AND created_at < DATE_ADD(NOW(), INTERVAL 5 HOUR) + AND confirmed_at IS NULL + LIMIT 1 +` + +export async function getUnconfirmedSignupRequest (id: number | string): Promise<SignupRequest | null> { + if (typeof id === 'string') { + id = parseInt(id, 10) + } + + const [rows] = await db.query<RowDataPacket[]>({ + sql: SQL_GET_UNCONFIRMED_SIGNUP_REQUEST, + }, [id]) + + if (rows.length === 0) { + return null + } + + const row = rows[0] + console.log(row) + return { + id: row[0], + email: row[1], + requestedIp: row[2], + requestedUserAgent: row[3], + createdAt: row[4], + confirmedAt: row[5], + } +} + +const SQL_CONFIRM_SIGNUP_REQUEST = ` + UPDATE signup_requests + SET confirmed_at = NOW() + WHERE id = ? +` + +export async function confirmSignupRequest (id: number): Promise<void> { + await db.query<OkPacket>({ + sql: SQL_CONFIRM_SIGNUP_REQUEST, + }, [id]) +} diff --git a/lib/models/user_profile.ts b/lib/models/user_profile.ts @@ -0,0 +1,44 @@ +import db from '@/lib/db' +import { OkPacket, RowDataPacket } from 'mysql2' + +export interface UserProfile { + login_id: number + nickname: string + bio: string + updated_at: Date +} + +const SQL_CREATE_USER_PROFILE = ` + INSERT INTO user_profiles (login_id, nickname, bio) + VALUES (?, ?, ?) +` + +export async function createUserProfile ( + loginId: number, + nickname: string, + bio: string | null, +) { + await db.query<OkPacket>({ + sql: SQL_CREATE_USER_PROFILE, + }, [loginId, nickname, bio]) +} + +const SQL_GET_USER_PROFILE = ` + SELECT login_id, nickname, bio, updated_at + FROM user_profiles + WHERE login_id = ? + LIMIT 1 +` + +export async function getUserProfile (loginId: number): Promise<UserProfile | null> { + const [rows] = await db.query<RowDataPacket[]>({ + sql: SQL_GET_USER_PROFILE, + rowsAsArray: true, + }, [loginId]) + + if (!Array.isArray(rows) || rows.length === 0) { + return null + } + + return rows[0] as UserProfile +} diff --git a/lib/security/password.ts b/lib/security/password.ts @@ -0,0 +1,11 @@ +import bcrypt from 'bcrypt' + +const saltRounds = 10 + +export function hashPassword (password: string | Buffer) { + return bcrypt.hash(password, saltRounds) +} + +export function comparePasswordHash (password: string | Buffer, hash: string) { + return bcrypt.compare(password, hash) +} diff --git a/lib/security/token.ts b/lib/security/token.ts @@ -0,0 +1,49 @@ +import { LoginInfo } from '@/lib/models/login_info' +import { sign } from 'jsonwebtoken' +import { nanoid } from 'nanoid' + +const TOKEN_ALGORITHM = 'HS256' +const TOKEN_EXPIRES_IN = '5m' +const REFRESH_TOKEN_EXPIRES_IN = '30d' + +/** + * JWT를 발급합니다. + * @returns [accessToken, refreshToken, tokenId] + */ +export function signToken ( + loginInfo: LoginInfo, + secret: string, +): [string, string, string] { + const tokenId = nanoid() + + const accessToken = sign( + { + tid: tokenId, + uid: loginInfo.id, + }, + secret, + { + algorithm: TOKEN_ALGORITHM, + expiresIn: TOKEN_EXPIRES_IN, + }, + ) + + const refreshToken = sign( + { + tid: tokenId, + uid: loginInfo.id, + refresh: true, + }, + secret, + { + algorithm: TOKEN_ALGORITHM, + expiresIn: REFRESH_TOKEN_EXPIRES_IN, + }, + ) + + return [ + accessToken, + refreshToken, + tokenId + ] +} diff --git a/package.json b/package.json @@ -11,15 +11,27 @@ }, "dependencies": { "@next/font": "13.1.2", + "@types/bcrypt": "^5.0.0", "@types/node": "18.11.18", "@types/react": "18.0.26", "@types/react-dom": "18.0.10", + "bcrypt": "^5.1.0", "eslint": "8.32.0", "eslint-config-next": "13.1.2", + "handlebars": "^4.7.7", + "jsonwebtoken": "^9.0.0", + "mysql2": "^3.0.1", + "nanoid": "^4.0.0", "next": "13.1.2", + "nodemailer": "^6.9.0", + "pino": "^8.8.0", "react": "18.2.0", "react-dom": "18.2.0", "typescript": "4.9.4", "yaml": "^2.2.1" + }, + "devDependencies": { + "@types/jsonwebtoken": "^9.0.1", + "@types/nodemailer": "^6.4.7" } } diff --git a/pages/api/auth/token.ts b/pages/api/auth/token.ts @@ -0,0 +1,48 @@ +import { ApiError } from '@/lib/apierror' +import { getLoginInfoViaEmail } from '@/lib/models/login_info' +import { comparePasswordHash } from '@/lib/security/password' +import { signToken } from '@/lib/security/token' +import type { NextApiRequest, NextApiResponse } from 'next' + +type TokenResponse = { + accessToken: string + refreshToken: string +} + +const ERR_INVALID_CREDENTIALS: ApiError = { + code: 'invalid_credentials', + message: 'Email or password is incorrect', +} + +export default async function handler ( + req: NextApiRequest, + res: NextApiResponse<TokenResponse | ApiError>, +) { + if (req.method !== 'POST') { + res.status(405).json({ + code: 'method_not_allowed', + message: 'Method Not Allowed', + }) + return + } + + // 사용자 정보를 가져옴 + const { email, password } = req.body as { email: string; password: string } + + const loginInfo = await getLoginInfoViaEmail(email) + if (loginInfo == null) { + res.status(401).json(ERR_INVALID_CREDENTIALS) + return + } + + if (!await comparePasswordHash(password, loginInfo.passwordHash)) { + res.status(401).json(ERR_INVALID_CREDENTIALS) + return + } + + // JWT 토큰 발급 + const tokenSecret = process.env.TOKEN_SECRET ?? 'dangerously_insecure_s3cr3t' + const [ accessToken, refreshToken, tokenId ] = signToken(loginInfo, tokenSecret) + + res.status(200).json({ accessToken, refreshToken }) +} diff --git a/pages/api/hello.ts b/pages/api/hello.ts @@ -1,13 +0,0 @@ -// Next.js API route support: https://nextjs.org/docs/api-routes/introduction -import type { NextApiRequest, NextApiResponse } from 'next' - -type Data = { - name: string -} - -export default function handler( - req: NextApiRequest, - res: NextApiResponse<Data> -) { - res.status(200).json({ name: 'John Doe' }) -} diff --git a/pages/api/users/signup/[id].ts b/pages/api/users/signup/[id].ts @@ -0,0 +1,70 @@ +import { ApiError, ERR_METHOD_NOT_ALLOWED } from '@/lib/apierror' +import { createLoginInfo } from '@/lib/models/login_info' +import { + confirmSignupRequest, + getUnconfirmedSignupRequest, +} from '@/lib/models/signup_request' +import { createUserProfile } from '@/lib/models/user_profile' +import bcrypt from 'bcrypt' +import { NextApiRequest, NextApiResponse } from 'next' +import { useRouter } from 'next/router' + +interface SignupRequest { + password: string + nickname: string +} + +// POST /api/users/[id] - 새 사용자 계정을 생성합니다. +export default async function handler ( + req: NextApiRequest, + res: NextApiResponse<{ status: 'ok' } | ApiError>, +) { + if (req.method !== 'POST') { + res.status(405).json(ERR_METHOD_NOT_ALLOWED) + return + } + + const { id } = req.query + if (typeof id !== 'string') { + res.status(500) + .json({ code: 'internal error', message: 'id is null' }) + return + } + + const { password, nickname } = req.body as SignupRequest + if (password == null || password === '') { + res.status(400).json({ + code: 'ERR_INVALID_PASSWORD', + message: 'password is required', + }) + return + } + if (nickname == null || nickname === '') { + res.status(400).json({ + code: 'ERR_INVALID_NICKNAME', + message: 'nickname is required', + }) + return + } + + // 요청 정보가 존재하는지 확인 + const signupRequest = await getUnconfirmedSignupRequest(id) + if (signupRequest == null) { + res.status(404).json({ + code: 'ERR_SIGNUP_REQUEST_NOT_FOUND', + message: 'signup request was not found or expired', + }) + return + } + + // 패스워드 해시 + const passwordHash = await bcrypt.hash(password, 10) + + // TODO: 트랜잭션으로 묶기 + await confirmSignupRequest(signupRequest.id) + + const userId = await createLoginInfo(signupRequest.email, passwordHash) + await createUserProfile(userId, nickname, null) + + res.status(201).json({ status: 'ok' }) +} diff --git a/pages/api/users/signup/index.ts b/pages/api/users/signup/index.ts @@ -0,0 +1,42 @@ +import { ApiError, ERR_METHOD_NOT_ALLOWED } from '@/lib/apierror' +import { sendEmail } from '@/lib/email' +import { getSignupConfirmationEmailHTML } from '@/lib/email_templates' +import { createSignupRequest } from '@/lib/models/signup_request' +import { NextApiRequest, NextApiResponse } from 'next' + +// POST /api/users/signup creates a new signup request +export default async function handler ( + req: NextApiRequest, + res: NextApiResponse<{ status: 'ok' } | ApiError>, +) { + if (req.method !== 'POST') { + res.status(405).json(ERR_METHOD_NOT_ALLOWED) + return + } + + const { email } = req.body as { email: string } + const requestedIP = getIPAddress(req) + const requestedUserAgent = req.headers['user-agent'] ?? '' + + const requestID = await createSignupRequest(email, requestedIP, requestedUserAgent) + const requestURL = `${process.env.WIKI_SITE_URL ?? 'http://localhost'}/users/signup/${requestID}` + + await sendEmail( + email, + '계정 만들기', + getSignupConfirmationEmailHTML(requestURL), + ) + + res.status(200).json({ status: 'ok' }) +} + +function getIPAddress(req: NextApiRequest): string { + const result = req.headers['x-forwarded-for'] ?? req.socket.remoteAddress + if (result == null) { + return '' + } + if (Array.isArray(result)) { + return result[0] + } + return result +} diff --git a/sql/0001_base.sql b/sql/0001_base.sql @@ -0,0 +1,28 @@ +create table logins +( + id int not null auto_increment primary key, + email varchar(255) not null unique, + password_hash varchar(255) not null, + created_at datetime not null default current_timestamp, + updated_at datetime null on update current_timestamp +); + +create table signup_requests +( + id int not null auto_increment primary key, + email varchar(255) not null, + requested_ip varchar(255) not null, + requested_user_agent varchar(255) not null, + created_at datetime not null default current_timestamp, + confirmed_at datetime null +); + +drop table if exists user_profiles; +create table user_profiles +( + login_id int not null primary key references logins (id) + on delete cascade on update cascade, + nickname varchar(255) not null, + bio text null, + updated_at datetime null on update current_timestamp +); diff --git a/yarn.lock b/yarn.lock @@ -31,6 +31,13 @@ __metadata: languageName: node linkType: hard +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 + languageName: node + linkType: hard + "@humanwhocodes/config-array@npm:^0.11.8": version: 0.11.8 resolution: "@humanwhocodes/config-array@npm:0.11.8" @@ -56,6 +63,25 @@ __metadata: languageName: node linkType: hard +"@mapbox/node-pre-gyp@npm:^1.0.10": + version: 1.0.10 + resolution: "@mapbox/node-pre-gyp@npm:1.0.10" + dependencies: + detect-libc: ^2.0.0 + https-proxy-agent: ^5.0.0 + make-dir: ^3.1.0 + node-fetch: ^2.6.7 + nopt: ^5.0.0 + npmlog: ^5.0.1 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.11 + bin: + node-pre-gyp: bin/node-pre-gyp + checksum: 1a98db05d955b74dad3814679593df293b9194853698f3f5f1ed00ecd93128cdd4b14fb8767fe44ac6981ef05c23effcfdc88710e7c1de99ccb6f647890597c8 + languageName: node + linkType: hard + "@next/env@npm:13.1.2": version: 13.1.2 resolution: "@next/env@npm:13.1.2" @@ -197,6 +223,26 @@ __metadata: languageName: node linkType: hard +"@npmcli/fs@npm:^2.1.0": + version: 2.1.2 + resolution: "@npmcli/fs@npm:2.1.2" + dependencies: + "@gar/promisify": ^1.1.3 + semver: ^7.3.5 + checksum: 405074965e72d4c9d728931b64d2d38e6ea12066d4fad651ac253d175e413c06fe4350970c783db0d749181da8fe49c42d3880bd1cbc12cd68e3a7964d820225 + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^2.0.0": + version: 2.0.1 + resolution: "@npmcli/move-file@npm:2.0.1" + dependencies: + mkdirp: ^1.0.4 + rimraf: ^3.0.2 + checksum: 52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380 + languageName: node + linkType: hard + "@pkgr/utils@npm:^2.3.1": version: 2.3.1 resolution: "@pkgr/utils@npm:2.3.1" @@ -227,6 +273,22 @@ __metadata: languageName: node linkType: hard +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 + languageName: node + linkType: hard + +"@types/bcrypt@npm:^5.0.0": + version: 5.0.0 + resolution: "@types/bcrypt@npm:5.0.0" + dependencies: + "@types/node": "*" + checksum: 063c32c7a519d64768dfc0169a319b8244d6a6cb50a355c93992b3c5fee1dbc236526a1111f0e7bb25abc8b0473e5f40a5edfeb8b33cad2a6ea35aa2d7d7db14 + languageName: node + linkType: hard + "@types/json5@npm:^0.0.29": version: 0.0.29 resolution: "@types/json5@npm:0.0.29" @@ -234,13 +296,31 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:18.11.18": +"@types/jsonwebtoken@npm:^9.0.1": + version: 9.0.1 + resolution: "@types/jsonwebtoken@npm:9.0.1" + dependencies: + "@types/node": "*" + checksum: a7f0925e9a42ad3ae970364c63c5986d40da5c83d51d3f4e624eb0f064a380376f9e3fb3f2f837390a9ab80143f5d75fd51866da30e110f6b486a3379e1c768f + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:18.11.18": version: 18.11.18 resolution: "@types/node@npm:18.11.18" checksum: 03f17f9480f8d775c8a72da5ea7e9383db5f6d85aa5fefde90dd953a1449bd5e4ffde376f139da4f3744b4c83942166d2a7603969a6f8ea826edfb16e6e3b49d languageName: node linkType: hard +"@types/nodemailer@npm:^6.4.7": + version: 6.4.7 + resolution: "@types/nodemailer@npm:6.4.7" + dependencies: + "@types/node": "*" + checksum: dc2a33a89135e04a5bea4921e8645e8453b90e3c3b05f0646f05071c5951ab697ea49ea1e503a690f04cb0a6abfc54967325c5a4036356793cfbb64ba64fb141 + languageName: node + linkType: hard + "@types/prop-types@npm:*": version: 15.7.5 resolution: "@types/prop-types@npm:15.7.5" @@ -337,6 +417,22 @@ __metadata: languageName: node linkType: hard +"abbrev@npm:1, abbrev@npm:^1.0.0": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 + languageName: node + linkType: hard + +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: ^5.0.0 + checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75 + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -355,6 +451,36 @@ __metadata: languageName: node linkType: hard +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: 4 + checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.2.1": + version: 4.2.1 + resolution: "agentkeepalive@npm:4.2.1" + dependencies: + debug: ^4.1.0 + depd: ^1.1.2 + humanize-ms: ^1.2.1 + checksum: 39cb49ed8cf217fd6da058a92828a0a84e0b74c35550f82ee0a10e1ee403c4b78ade7948be2279b188b7a7303f5d396ea2738b134731e464bf28de00a4f72a18 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: ^2.0.0 + indent-string: ^4.0.0 + checksum: 1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 + languageName: node + linkType: hard + "ajv@npm:^6.10.0, ajv@npm:^6.12.4": version: 6.12.6 resolution: "ajv@npm:6.12.6" @@ -383,6 +509,33 @@ __metadata: languageName: node linkType: hard +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^2.0.0": + version: 2.0.0 + resolution: "are-we-there-yet@npm:2.0.0" + dependencies: + delegates: ^1.0.0 + readable-stream: ^3.6.0 + checksum: 6c80b4fd04ecee6ba6e737e0b72a4b41bdc64b7d279edfc998678567ff583c8df27e27523bc789f2c99be603ffa9eaa612803da1d886962d2086e7ff6fa90c7c + languageName: node + linkType: hard + +"are-we-there-yet@npm:^3.0.0": + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" + dependencies: + delegates: ^1.0.0 + readable-stream: ^3.6.0 + checksum: 52590c24860fa7173bedeb69a4c05fb573473e860197f618b9a28432ee4379049336727ae3a1f9c4cb083114601c1140cee578376164d0e651217a9843f9fe83 + languageName: node + linkType: hard + "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -463,6 +616,13 @@ __metadata: languageName: node linkType: hard +"atomic-sleep@npm:^1.0.0": + version: 1.0.0 + resolution: "atomic-sleep@npm:1.0.0" + checksum: b95275afb2f80732f22f43a60178430c468906a415a7ff18bcd0feeebc8eec3930b51250aeda91a476062a90e07132b43a1794e8d8ffcf9b650e8139be75fa36 + languageName: node + linkType: hard + "available-typed-arrays@npm:^1.0.5": version: 1.0.5 resolution: "available-typed-arrays@npm:1.0.5" @@ -493,6 +653,23 @@ __metadata: languageName: node linkType: hard +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 + languageName: node + linkType: hard + +"bcrypt@npm:^5.1.0": + version: 5.1.0 + resolution: "bcrypt@npm:5.1.0" + dependencies: + "@mapbox/node-pre-gyp": ^1.0.10 + node-addon-api: ^5.0.0 + checksum: a590b65d276d75d861dc85acc3128508b8f78c87431719658ea3be7996368b34b397b6efefe6bca0a3d555bf41a9267307fd4ce04e956598fca3ba81199c6706 + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -503,6 +680,15 @@ __metadata: languageName: node linkType: hard +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: ^1.0.0 + checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + languageName: node + linkType: hard + "braces@npm:^3.0.2": version: 3.0.2 resolution: "braces@npm:3.0.2" @@ -512,6 +698,49 @@ __metadata: languageName: node linkType: hard +"buffer-equal-constant-time@npm:1.0.1": + version: 1.0.1 + resolution: "buffer-equal-constant-time@npm:1.0.1" + checksum: 80bb945f5d782a56f374b292770901065bad21420e34936ecbe949e57724b4a13874f735850dd1cc61f078773c4fb5493a41391e7bda40d1fa388d6bd80daaab + languageName: node + linkType: hard + +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.2.1 + checksum: 5ad23293d9a731e4318e420025800b42bf0d264004c0286c8cc010af7a270c7a0f6522e84f54b9ad65cbd6db20b8badbfd8d2ebf4f80fa03dab093b89e68c3f9 + languageName: node + linkType: hard + +"cacache@npm:^16.1.0": + version: 16.1.3 + resolution: "cacache@npm:16.1.3" + dependencies: + "@npmcli/fs": ^2.1.0 + "@npmcli/move-file": ^2.0.0 + chownr: ^2.0.0 + fs-minipass: ^2.1.0 + glob: ^8.0.1 + infer-owner: ^1.0.4 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + mkdirp: ^1.0.4 + p-map: ^4.0.0 + promise-inflight: ^1.0.1 + rimraf: ^3.0.2 + ssri: ^9.0.0 + tar: ^6.1.11 + unique-filename: ^2.0.0 + checksum: d91409e6e57d7d9a3a25e5dcc589c84e75b178ae8ea7de05cbf6b783f77a5fae938f6e8fda6f5257ed70000be27a681e1e44829251bfffe4c10216002f8f14e6 + languageName: node + linkType: hard + "call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": version: 1.0.2 resolution: "call-bind@npm:1.0.2" @@ -546,6 +775,20 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 + languageName: node + linkType: hard + "client-only@npm:0.0.1": version: 0.0.1 resolution: "client-only@npm:0.0.1" @@ -569,6 +812,15 @@ __metadata: languageName: node linkType: hard +"color-support@npm:^1.1.2, color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -576,6 +828,13 @@ __metadata: languageName: node linkType: hard +"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed + languageName: node + linkType: hard + "cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -601,16 +860,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: ^2.1.1 - checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c - languageName: node - linkType: hard - -"debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -622,6 +872,15 @@ __metadata: languageName: node linkType: hard +"debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: ^2.1.1 + checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c + languageName: node + linkType: hard + "deep-equal@npm:^2.0.5": version: 2.2.0 resolution: "deep-equal@npm:2.2.0" @@ -671,6 +930,34 @@ __metadata: languageName: node linkType: hard +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd + languageName: node + linkType: hard + +"denque@npm:^2.1.0": + version: 2.1.0 + resolution: "denque@npm:2.1.0" + checksum: 1d4ae1d05e59ac3a3481e7b478293f4b4c813819342273f3d5b826c7ffa9753c520919ba264f377e09108d24ec6cf0ec0ac729a5686cbb8f32d797126c5dae74 + languageName: node + linkType: hard + +"depd@npm:^1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.0": + version: 2.0.1 + resolution: "detect-libc@npm:2.0.1" + checksum: ccb05fcabbb555beb544d48080179c18523a343face9ee4e1a86605a8715b4169f94d663c21a03c310ac824592f2ba9a5270218819bb411ad7be578a527593d7 + languageName: node + linkType: hard + "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -703,12 +990,22 @@ __metadata: resolution: "dreamhanks-demo-project@workspace:." dependencies: "@next/font": 13.1.2 + "@types/bcrypt": ^5.0.0 + "@types/jsonwebtoken": ^9.0.1 "@types/node": 18.11.18 + "@types/nodemailer": ^6.4.7 "@types/react": 18.0.26 "@types/react-dom": 18.0.10 + bcrypt: ^5.1.0 eslint: 8.32.0 eslint-config-next: 13.1.2 + handlebars: ^4.7.7 + jsonwebtoken: ^9.0.0 + mysql2: ^3.0.1 + nanoid: ^4.0.0 next: 13.1.2 + nodemailer: ^6.9.0 + pino: ^8.8.0 react: 18.2.0 react-dom: 18.2.0 typescript: 4.9.4 @@ -716,6 +1013,22 @@ __metadata: languageName: unknown linkType: soft +"ecdsa-sig-formatter@npm:1.0.11": + version: 1.0.11 + resolution: "ecdsa-sig-formatter@npm:1.0.11" + dependencies: + safe-buffer: ^5.0.1 + checksum: 207f9ab1c2669b8e65540bce29506134613dd5f122cccf1e6a560f4d63f2732d427d938f8481df175505aad94583bcb32c688737bb39a6df0625f903d6d93c03 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192 + languageName: node + linkType: hard + "emoji-regex@npm:^9.2.2": version: 9.2.2 resolution: "emoji-regex@npm:9.2.2" @@ -723,6 +1036,15 @@ __metadata: languageName: node linkType: hard +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: ^0.6.2 + checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + languageName: node + linkType: hard + "enhanced-resolve@npm:^5.10.0": version: 5.12.0 resolution: "enhanced-resolve@npm:5.12.0" @@ -733,6 +1055,20 @@ __metadata: languageName: node linkType: hard +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 8b7b1be20d2de12d2255c0bc2ca638b7af5171142693299416e6a9339bd7d88fc8d7707d913d78e0993176005405a236b066b45666b27b797252c771156ace54 + languageName: node + linkType: hard + "es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": version: 1.21.1 resolution: "es-abstract@npm:1.21.1" @@ -1105,6 +1441,20 @@ __metadata: languageName: node linkType: hard +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 + languageName: node + linkType: hard + +"events@npm:^3.3.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -1139,6 +1489,13 @@ __metadata: languageName: node linkType: hard +"fast-redact@npm:^3.1.1": + version: 3.1.2 + resolution: "fast-redact@npm:3.1.2" + checksum: a30eb6b6830333ab213e0def55f46453ca777544dbd3a883016cb590a0eeb95e6fdf546553c1a13d509896bfba889b789991160a6d0996ceb19fce0a02e8b753 + languageName: node + linkType: hard + "fastq@npm:^1.6.0": version: 1.15.0 resolution: "fastq@npm:1.15.0" @@ -1202,6 +1559,15 @@ __metadata: languageName: node linkType: hard +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: ^3.0.0 + checksum: 1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1 + languageName: node + linkType: hard + "fs.realpath@npm:^1.0.0": version: 1.0.0 resolution: "fs.realpath@npm:1.0.0" @@ -1235,6 +1601,48 @@ __metadata: languageName: node linkType: hard +"gauge@npm:^3.0.0": + version: 3.0.2 + resolution: "gauge@npm:3.0.2" + dependencies: + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.2 + console-control-strings: ^1.0.0 + has-unicode: ^2.0.1 + object-assign: ^4.1.1 + signal-exit: ^3.0.0 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.2 + checksum: 81296c00c7410cdd48f997800155fbead4f32e4f82109be0719c63edc8560e6579946cc8abd04205297640691ec26d21b578837fd13a4e96288ab4b40b1dc3e9 + languageName: node + linkType: hard + +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" + dependencies: + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.3 + console-control-strings: ^1.1.0 + has-unicode: ^2.0.1 + signal-exit: ^3.0.7 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.5 + checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d + languageName: node + linkType: hard + +"generate-function@npm:^2.3.1": + version: 2.3.1 + resolution: "generate-function@npm:2.3.1" + dependencies: + is-property: ^1.0.2 + checksum: 652f083de206ead2bae4caf9c7eeb465e8d98c0b8ed2a29c6afc538cef0785b5c6eea10548f1e13cc586d3afd796c13c830c2cb3dc612ec2457b2aadda5f57c9 + languageName: node + linkType: hard + "get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3": version: 1.1.3 resolution: "get-intrinsic@npm:1.1.3" @@ -1295,7 +1703,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3": +"glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -1309,6 +1717,19 @@ __metadata: languageName: node linkType: hard +"glob@npm:^8.0.1": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^5.0.1 + once: ^1.3.0 + checksum: 92fbea3221a7d12075f26f0227abac435de868dd0736a17170663783296d0dd8d3d532a5672b4488a439bf5d7fb85cdd07c11185d6cd39184f0385cbdfb86a47 + languageName: node + linkType: hard + "globals@npm:^13.19.0": version: 13.19.0 resolution: "globals@npm:13.19.0" @@ -1377,7 +1798,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.4": +"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.10 resolution: "graceful-fs@npm:4.2.10" checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da @@ -1391,6 +1812,24 @@ __metadata: languageName: node linkType: hard +"handlebars@npm:^4.7.7": + version: 4.7.7 + resolution: "handlebars@npm:4.7.7" + dependencies: + minimist: ^1.2.5 + neo-async: ^2.6.0 + source-map: ^0.6.1 + uglify-js: ^3.1.4 + wordwrap: ^1.0.0 + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 1e79a43f5e18d15742977cb987923eab3e2a8f44f2d9d340982bcb69e1735ed049226e534d7c1074eaddaf37e4fb4f471a8adb71cddd5bc8cf3f894241df5cee + languageName: node + linkType: hard + "has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -1437,6 +1876,13 @@ __metadata: languageName: node linkType: hard +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 + languageName: node + linkType: hard + "has@npm:^1.0.3": version: 1.0.3 resolution: "has@npm:1.0.3" @@ -1446,6 +1892,59 @@ __metadata: languageName: node linkType: hard +"http-cache-semantics@npm:^4.1.0": + version: 4.1.0 + resolution: "http-cache-semantics@npm:4.1.0" + checksum: 974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "http-proxy-agent@npm:5.0.0" + dependencies: + "@tootallnate/once": 2 + agent-base: 6 + debug: 4 + checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: 6 + debug: 4 + checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: ^2.0.0 + checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: ">= 2.1.2 < 3.0.0" + checksum: 3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf + languageName: node + linkType: hard + +"ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e + languageName: node + linkType: hard + "ignore@npm:^5.2.0": version: 5.2.4 resolution: "ignore@npm:5.2.4" @@ -1470,8 +1969,22 @@ __metadata: languageName: node linkType: hard -"inflight@npm:^1.0.4": - version: 1.0.6 +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 824cfb9929d031dabf059bebfe08cf3137365e112019086ed3dcff6a0a7b698cb80cf67ccccde0e25b9e2d7527aa6cc1fed1ac490c752162496caba3e6699612 + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 resolution: "inflight@npm:1.0.6" dependencies: once: ^1.3.0 @@ -1480,7 +1993,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2": +"inherits@npm:2, inherits@npm:^2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 @@ -1498,6 +2011,13 @@ __metadata: languageName: node linkType: hard +"ip@npm:^2.0.0": + version: 2.0.0 + resolution: "ip@npm:2.0.0" + checksum: cfcfac6b873b701996d71ec82a7dd27ba92450afdb421e356f44044ed688df04567344c36cbacea7d01b1c39a4c732dc012570ebe9bebfb06f27314bca625349 + languageName: node + linkType: hard + "is-arguments@npm:^1.1.1": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" @@ -1579,6 +2099,13 @@ __metadata: languageName: node linkType: hard +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -1588,6 +2115,13 @@ __metadata: languageName: node linkType: hard +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 + languageName: node + linkType: hard + "is-map@npm:^2.0.1, is-map@npm:^2.0.2": version: 2.0.2 resolution: "is-map@npm:2.0.2" @@ -1625,6 +2159,13 @@ __metadata: languageName: node linkType: hard +"is-property@npm:^1.0.2": + version: 1.0.2 + resolution: "is-property@npm:1.0.2" + checksum: 33b661a3690bcc88f7e47bb0a21b9e3187e76a317541ea7ec5e8096d954f441b77a46d8930c785f7fbf4ef8dfd624c25495221e026e50f74c9048fe501773be5 + languageName: node + linkType: hard + "is-regex@npm:^1.1.4": version: 1.1.4 resolution: "is-regex@npm:1.1.4" @@ -1781,6 +2322,18 @@ __metadata: languageName: node linkType: hard +"jsonwebtoken@npm:^9.0.0": + version: 9.0.0 + resolution: "jsonwebtoken@npm:9.0.0" + dependencies: + jws: ^3.2.2 + lodash: ^4.17.21 + ms: ^2.1.1 + semver: ^7.3.8 + checksum: b9181cecf9df99f1dc0253f91ba000a1aa4d91f5816d1608c0dba61a5623726a0bfe200b51df25de18c1a6000825d231ad7ce2788aa54fd48dcb760ad9eb9514 + languageName: node + linkType: hard + "jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.3": version: 3.3.3 resolution: "jsx-ast-utils@npm:3.3.3" @@ -1791,6 +2344,27 @@ __metadata: languageName: node linkType: hard +"jwa@npm:^1.4.1": + version: 1.4.1 + resolution: "jwa@npm:1.4.1" + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: ^5.0.1 + checksum: ff30ea7c2dcc61f3ed2098d868bf89d43701605090c5b21b5544b512843ec6fd9e028381a4dda466cbcdb885c2d1150f7c62e7168394ee07941b4098e1035e2f + languageName: node + linkType: hard + +"jws@npm:^3.2.2": + version: 3.2.2 + resolution: "jws@npm:3.2.2" + dependencies: + jwa: ^1.4.1 + safe-buffer: ^5.0.1 + checksum: f0213fe5b79344c56cd443428d8f65c16bf842dc8cb8f5aed693e1e91d79c20741663ad6eff07a6d2c433d1831acc9814e8d7bada6a0471fbb91d09ceb2bf5c2 + languageName: node + linkType: hard + "language-subtag-registry@npm:~0.3.2": version: 0.3.22 resolution: "language-subtag-registry@npm:0.3.22" @@ -1833,6 +2407,20 @@ __metadata: languageName: node linkType: hard +"lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 + languageName: node + linkType: hard + +"long@npm:^5.2.1": + version: 5.2.1 + resolution: "long@npm:5.2.1" + checksum: 9264da12d1b7df67e5aa6da4498144293caf1ad12e7f092efe4e9a2d32c53f0bbf7334f7cef997080a2a3af061142558ab366efa71698d98b1cdb883477445a7 + languageName: node + linkType: hard + "loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -1853,6 +2441,46 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^7.14.1, lru-cache@npm:^7.7.1": + version: 7.14.1 + resolution: "lru-cache@npm:7.14.1" + checksum: d72c6713c6a6d86836a7a6523b3f1ac6764768cca47ec99341c3e76db06aacd4764620e5e2cda719a36848785a52a70e531822dc2b33fb071fa709683746c104 + languageName: node + linkType: hard + +"make-dir@npm:^3.1.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: ^6.0.0 + checksum: 484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^10.0.3": + version: 10.2.1 + resolution: "make-fetch-happen@npm:10.2.1" + dependencies: + agentkeepalive: ^4.2.1 + cacache: ^16.1.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-fetch: ^2.0.3 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 + promise-retry: ^2.0.1 + socks-proxy-agent: ^7.0.0 + ssri: ^9.0.0 + checksum: 2332eb9a8ec96f1ffeeea56ccefabcb4193693597b132cd110734d50f2928842e22b84cfa1508e921b8385cdfd06dda9ad68645fed62b50fff629a580f5fb72c + languageName: node + linkType: hard + "merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" @@ -1879,13 +2507,110 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.6": +"minimatch@npm:^5.0.1": + version: 5.1.4 + resolution: "minimatch@npm:5.1.4" + dependencies: + brace-expansion: ^2.0.1 + checksum: 0de6d7d154e70d12487b30a7bfcb74bd15fd1f1ec007a2516699ba76e63f78ca2e5016c200b242ed75123aff8dcccf49947f71b629fb1b1f221c8e76a13ed8de + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": version: 1.2.7 resolution: "minimist@npm:1.2.7" checksum: 7346574a1038ca23c32e02252f603801f09384dd1d78b69a943a4e8c2c28730b80e96193882d3d3b22a063445f460e48316b29b8a25addca2d7e5e8f75478bec languageName: node linkType: hard +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: ^3.0.0 + checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 + languageName: node + linkType: hard + +"minipass-fetch@npm:^2.0.3": + version: 2.1.2 + resolution: "minipass-fetch@npm:2.1.2" + dependencies: + encoding: ^0.1.13 + minipass: ^3.1.6 + minipass-sized: ^1.0.3 + minizlib: ^2.1.2 + dependenciesMeta: + encoding: + optional: true + checksum: 3f216be79164e915fc91210cea1850e488793c740534985da017a4cbc7a5ff50506956d0f73bb0cb60e4fe91be08b6b61ef35101706d3ef5da2c8709b5f08f91 + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: ^3.0.0 + checksum: 56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: ^3.0.0 + checksum: b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: ^3.0.0 + checksum: 79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60 + languageName: node + linkType: hard + +"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: ^4.0.0 + checksum: a30d083c8054cee83cdcdc97f97e4641a3f58ae743970457b1489ce38ee1167b3aaf7d815cd39ec7a99b9c40397fd4f686e83750e73e652b21cb516f6d845e48 + languageName: node + linkType: hard + +"minipass@npm:^4.0.0": + version: 4.0.0 + resolution: "minipass@npm:4.0.0" + dependencies: + yallist: ^4.0.0 + checksum: 7a609afbf394abfcf9c48e6c90226f471676c8f2a67f07f6838871afb03215ede431d1433feffe1b855455bcb13ef0eb89162841b9796109d6fed8d89790f381 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: ^3.0.0 + yallist: ^4.0.0 + checksum: f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f + languageName: node + linkType: hard + "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -1893,13 +2618,38 @@ __metadata: languageName: node linkType: hard -"ms@npm:^2.1.1": +"ms@npm:^2.0.0, ms@npm:^2.1.1": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d languageName: node linkType: hard +"mysql2@npm:^3.0.1": + version: 3.0.1 + resolution: "mysql2@npm:3.0.1" + dependencies: + denque: ^2.1.0 + generate-function: ^2.3.1 + iconv-lite: ^0.6.3 + long: ^5.2.1 + lru-cache: ^7.14.1 + named-placeholders: ^1.1.3 + seq-queue: ^0.0.5 + sqlstring: ^2.3.2 + checksum: 3b724df78deba85fc804bba0fa6f92d85e4d311fa468da02d08edd920bd68e20fca4d371ecbc48d588d2a99a521d76a2447595d15f4c7ccd8e744eddebd3b0eb + languageName: node + linkType: hard + +"named-placeholders@npm:^1.1.3": + version: 1.1.3 + resolution: "named-placeholders@npm:1.1.3" + dependencies: + lru-cache: ^7.14.1 + checksum: 7834adc91e92ae1b9c4413384e3ccd297de5168bb44017ff0536705ddc4db421723bd964607849265feb3f6ded390f84cf138e5925f22f7c13324f87a803dc73 + languageName: node + linkType: hard + "nanoid@npm:^3.3.4": version: 3.3.4 resolution: "nanoid@npm:3.3.4" @@ -1909,6 +2659,15 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^4.0.0": + version: 4.0.0 + resolution: "nanoid@npm:4.0.0" + bin: + nanoid: bin/nanoid.js + checksum: 7d5946df5c6d383694195b781ae7b5067c149d164ec71e910d6b06676309c3459b68af570b944fb5ecd5065d19df464f05700d141d70bb712ff8ca06642fd8df + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -1916,6 +2675,20 @@ __metadata: languageName: node linkType: hard +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 + languageName: node + linkType: hard + +"neo-async@npm:^2.6.0": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 + languageName: node + linkType: hard + "next@npm:13.1.2": version: 13.1.2 resolution: "next@npm:13.1.2" @@ -1984,6 +2757,102 @@ __metadata: languageName: node linkType: hard +"node-addon-api@npm:^5.0.0": + version: 5.1.0 + resolution: "node-addon-api@npm:5.1.0" + dependencies: + node-gyp: latest + checksum: 2508bd2d2981945406243a7bd31362fc7af8b70b8b4d65f869c61731800058fb818cc2fd36c8eac714ddd0e568cc85becf5e165cebbdf7b5024d5151bbc75ea1 + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.7": + version: 2.6.8 + resolution: "node-fetch@npm:2.6.8" + dependencies: + whatwg-url: ^5.0.0 + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 91f57be68e29f9b1382750693619e199733a6936998e6d618f1aa779853ad8fc4a2facf170db7957bf1d2510bad33449edf74b5802713d81b63de5986fa3be00 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 9.3.1 + resolution: "node-gyp@npm:9.3.1" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^10.0.3 + nopt: ^6.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: b860e9976fa645ca0789c69e25387401b4396b93c8375489b5151a6c55cf2640a3b6183c212b38625ef7c508994930b72198338e3d09b9d7ade5acc4aaf51ea7 + languageName: node + linkType: hard + +"nodemailer@npm:^6.9.0": + version: 6.9.0 + resolution: "nodemailer@npm:6.9.0" + checksum: 152d38de71582436d8c6067dfa6a3ddae738437b6f9be9211bd22cf92b2f92786dbef4a4d2ca0282e76b18f0274a7fb6ec5a7acc22f57bdd05559a6ec379dd5c + languageName: node + linkType: hard + +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: 1 + bin: + nopt: bin/nopt.js + checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f + languageName: node + linkType: hard + +"nopt@npm:^6.0.0": + version: 6.0.0 + resolution: "nopt@npm:6.0.0" + dependencies: + abbrev: ^1.0.0 + bin: + nopt: bin/nopt.js + checksum: 82149371f8be0c4b9ec2f863cc6509a7fd0fa729929c009f3a58e4eb0c9e4cae9920e8f1f8eb46e7d032fec8fb01bede7f0f41a67eb3553b7b8e14fa53de1dac + languageName: node + linkType: hard + +"npmlog@npm:^5.0.1": + version: 5.0.1 + resolution: "npmlog@npm:5.0.1" + dependencies: + are-we-there-yet: ^2.0.0 + console-control-strings: ^1.1.0 + gauge: ^3.0.0 + set-blocking: ^2.0.0 + checksum: 516b2663028761f062d13e8beb3f00069c5664925871a9b57989642ebe09f23ab02145bf3ab88da7866c4e112cafff72401f61a672c7c8a20edc585a7016ef5f + languageName: node + linkType: hard + +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: ^3.0.0 + console-control-strings: ^1.1.0 + gauge: ^4.0.3 + set-blocking: ^2.0.0 + checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a + languageName: node + linkType: hard + "object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -2070,6 +2939,13 @@ __metadata: languageName: node linkType: hard +"on-exit-leak-free@npm:^2.1.0": + version: 2.1.0 + resolution: "on-exit-leak-free@npm:2.1.0" + checksum: 7334d98b87b0c89c9b69c747760b21196ff35afdedc4eaf1a0a3a02964463d7f6802481b120e4c8298967c74773ca7b914ab2eb3d9b279010eb7f67ac4960eed + languageName: node + linkType: hard + "once@npm:^1.3.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -2122,6 +2998,15 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: cb0ab21ec0f32ddffd31dfc250e3afa61e103ef43d957cc45497afe37513634589316de4eb88abdfd969fe6410c22c0b93ab24328833b8eb1ccc087fc0442a1c + languageName: node + linkType: hard + "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" @@ -2180,6 +3065,44 @@ __metadata: languageName: node linkType: hard +"pino-abstract-transport@npm:v1.0.0": + version: 1.0.0 + resolution: "pino-abstract-transport@npm:1.0.0" + dependencies: + readable-stream: ^4.0.0 + split2: ^4.0.0 + checksum: 05dd0eda52dd99fd204b39fe7b62656744b63e863bc052cdd5105d25f226a236966d0a46e39a1ace4838f6e988c608837ff946d2d0bc92835ca7baa0a3bff8d8 + languageName: node + linkType: hard + +"pino-std-serializers@npm:^6.0.0": + version: 6.1.0 + resolution: "pino-std-serializers@npm:6.1.0" + checksum: 5e42327c242b67c1a38fe7be1b64c5f655aa7116b159899f09f3ef057302055a23c99c54590e18da4b6b76557487e3b9478a89889cea8cbd3e0cc16c3dc154a5 + languageName: node + linkType: hard + +"pino@npm:^8.8.0": + version: 8.8.0 + resolution: "pino@npm:8.8.0" + dependencies: + atomic-sleep: ^1.0.0 + fast-redact: ^3.1.1 + on-exit-leak-free: ^2.1.0 + pino-abstract-transport: v1.0.0 + pino-std-serializers: ^6.0.0 + process-warning: ^2.0.0 + quick-format-unescaped: ^4.0.3 + real-require: ^0.2.0 + safe-stable-stringify: ^2.3.1 + sonic-boom: ^3.1.0 + thread-stream: ^2.0.0 + bin: + pino: bin.js + checksum: 69256469221b332776333069d637100053eb15dc7baa3f95897d7864bf2e6fd99f15cfd9cfc94b56e7b00da2e6b349c49affcff1abaca9a3d4b7ba63ff86b4f0 + languageName: node + linkType: hard + "postcss@npm:8.4.14": version: 8.4.14 resolution: "postcss@npm:8.4.14" @@ -2198,6 +3121,37 @@ __metadata: languageName: node linkType: hard +"process-warning@npm:^2.0.0": + version: 2.1.0 + resolution: "process-warning@npm:2.1.0" + checksum: 2f22a3b8ec0de018c3a35e5945a2261c006aa3dfecf3d4f7aa323bc57e4fcdedfd566003283708547fde666d3ab7097d70f8d9765cd831d300723e4008adb7ab + languageName: node + linkType: hard + +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 22749483091d2c594261517f4f80e05226d4d5ecc1fc917e1886929da56e22b5718b7f2a75f3807e7a7d471bc3be2907fe92e6e8f373ddf5c64bae35b5af3981 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: ^2.0.2 + retry: ^0.12.0 + checksum: f96a3f6d90b92b568a26f71e966cbbc0f63ab85ea6ff6c81284dc869b41510e6cdef99b6b65f9030f0db422bf7c96652a3fff9f2e8fb4a0f069d8f4430359429 + languageName: node + linkType: hard + "prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" @@ -2223,6 +3177,13 @@ __metadata: languageName: node linkType: hard +"quick-format-unescaped@npm:^4.0.3": + version: 4.0.4 + resolution: "quick-format-unescaped@npm:4.0.4" + checksum: 7bc32b99354a1aa46c089d2a82b63489961002bb1d654cee3e6d2d8778197b68c2d854fd23d8422436ee1fdfd0abaddc4d4da120afe700ade68bd357815b26fd + languageName: node + linkType: hard + "react-dom@npm:18.2.0": version: 18.2.0 resolution: "react-dom@npm:18.2.0" @@ -2251,6 +3212,36 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^3.6.0": + version: 3.6.0 + resolution: "readable-stream@npm:3.6.0" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 + languageName: node + linkType: hard + +"readable-stream@npm:^4.0.0": + version: 4.3.0 + resolution: "readable-stream@npm:4.3.0" + dependencies: + abort-controller: ^3.0.0 + buffer: ^6.0.3 + events: ^3.3.0 + process: ^0.11.10 + checksum: 5f8d5fc1eb0c6eb47771ad4537881126d6280666e1f10ba1e2262a670a0352c36f59e6a04d17c9a6f7c888218984836dc67f55e95a77de8bfdf06fb75f00f670 + languageName: node + linkType: hard + +"real-require@npm:^0.2.0": + version: 0.2.0 + resolution: "real-require@npm:0.2.0" + checksum: fa060f19f2f447adf678d1376928c76379dce5f72bd334da301685ca6cdcb7b11356813332cc243c88470796bc2e2b1e2917fc10df9143dd93c2ea608694971d + languageName: node + linkType: hard + "regenerator-runtime@npm:^0.13.11": version: 0.13.11 resolution: "regenerator-runtime@npm:0.13.11" @@ -2335,6 +3326,13 @@ __metadata: languageName: node linkType: hard +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 623bd7d2e5119467ba66202d733ec3c2e2e26568074923bc0585b6b99db14f357e79bdedb63cab56cec47491c4a0da7e6021a7465ca6dc4f481d3898fdd3158c + languageName: node + linkType: hard + "reusify@npm:^1.0.4": version: 1.0.4 resolution: "reusify@npm:1.0.4" @@ -2362,6 +3360,13 @@ __metadata: languageName: node linkType: hard +"safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + "safe-regex-test@npm:^1.0.0": version: 1.0.0 resolution: "safe-regex-test@npm:1.0.0" @@ -2373,6 +3378,20 @@ __metadata: languageName: node linkType: hard +"safe-stable-stringify@npm:^2.3.1": + version: 2.4.2 + resolution: "safe-stable-stringify@npm:2.4.2" + checksum: 0324ba2e40f78cae63e31a02b1c9bdf1b786621f9e8760845608eb9e81aef401944ac2078e5c9c1533cf516aea34d08fa8052ca853637ced84b791caaf1e394e + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 + languageName: node + linkType: hard + "scheduler@npm:^0.23.0": version: 0.23.0 resolution: "scheduler@npm:0.23.0" @@ -2382,7 +3401,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.3.0": +"semver@npm:^6.0.0, semver@npm:^6.3.0": version: 6.3.0 resolution: "semver@npm:6.3.0" bin: @@ -2391,7 +3410,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.7": +"semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8": version: 7.3.8 resolution: "semver@npm:7.3.8" dependencies: @@ -2402,6 +3421,20 @@ __metadata: languageName: node linkType: hard +"seq-queue@npm:^0.0.5": + version: 0.0.5 + resolution: "seq-queue@npm:0.0.5" + checksum: f8695a6cb613e1b378b9686cde4ea626944091a412fc1c9d24c5039283d4351dd115f4505e4cf103d3a2e4a9a6a72fc7698fdce703839fb1fec9627aa4ce5563 + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 + languageName: node + linkType: hard + "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -2429,6 +3462,13 @@ __metadata: languageName: node linkType: hard +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 + languageName: node + linkType: hard + "slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -2443,6 +3483,43 @@ __metadata: languageName: node linkType: hard +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 + languageName: node + linkType: hard + +"socks@npm:^2.6.2": + version: 2.7.1 + resolution: "socks@npm:2.7.1" + dependencies: + ip: ^2.0.0 + smart-buffer: ^4.2.0 + checksum: 259d9e3e8e1c9809a7f5c32238c3d4d2a36b39b83851d0f573bfde5f21c4b1288417ce1af06af1452569cd1eb0841169afd4998f0e04ba04656f6b7f0e46d748 + languageName: node + linkType: hard + +"sonic-boom@npm:^3.1.0": + version: 3.2.1 + resolution: "sonic-boom@npm:3.2.1" + dependencies: + atomic-sleep: ^1.0.0 + checksum: 674d0af31c67818c99a0956482720b853bdaa6e46a63814db9fd28024580836a4cfdafa2c2ba6b0ec08449e9a92a5e7959530689b2c1fb5c83f786708cd7a7da + languageName: node + linkType: hard + "source-map-js@npm:^1.0.2": version: 1.0.2 resolution: "source-map-js@npm:1.0.2" @@ -2450,6 +3527,36 @@ __metadata: languageName: node linkType: hard +"source-map@npm:^0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 + languageName: node + linkType: hard + +"split2@npm:^4.0.0": + version: 4.1.0 + resolution: "split2@npm:4.1.0" + checksum: ec581597cb74c13cdfb5e2047543dd40cb1e8e9803c7b1e0c29ede05f2b4f049b2d6e7f2788a225d544549375719658b8f38e9366364dec35dc7a12edfda5ee5 + languageName: node + linkType: hard + +"sqlstring@npm:^2.3.2": + version: 2.3.3 + resolution: "sqlstring@npm:2.3.3" + checksum: 1e7e2d51c38a0cf7372e875408ca100b6e0c9a941ab7773975ea41fb36e5528e404dc787689be855780cf6d0a829ff71027964ae3a05a7446e91dce26672fda7 + languageName: node + linkType: hard + +"ssri@npm:^9.0.0": + version: 9.0.1 + resolution: "ssri@npm:9.0.1" + dependencies: + minipass: ^3.1.1 + checksum: fb58f5e46b6923ae67b87ad5ef1c5ab6d427a17db0bead84570c2df3cd50b4ceb880ebdba2d60726588272890bae842a744e1ecce5bd2a2a582fccd5068309eb + languageName: node + linkType: hard + "stop-iteration-iterator@npm:^1.0.0": version: 1.0.0 resolution: "stop-iteration-iterator@npm:1.0.0" @@ -2459,6 +3566,17 @@ __metadata: languageName: node linkType: hard +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.1 + checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb + languageName: node + linkType: hard + "string.prototype.matchall@npm:^4.0.8": version: 4.0.8 resolution: "string.prototype.matchall@npm:4.0.8" @@ -2497,6 +3615,15 @@ __metadata: languageName: node linkType: hard +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: ~5.2.0 + checksum: 8417646695a66e73aefc4420eb3b84cc9ffd89572861fe004e6aeb13c7bc00e2f616247505d2dbbef24247c372f70268f594af7126f43548565c68c117bdeb56 + languageName: node + linkType: hard + "strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -2569,6 +3696,20 @@ __metadata: languageName: node linkType: hard +"tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.1.13 + resolution: "tar@npm:6.1.13" + dependencies: + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + minipass: ^4.0.0 + minizlib: ^2.1.1 + mkdirp: ^1.0.3 + yallist: ^4.0.0 + checksum: 8a278bed123aa9f53549b256a36b719e317c8b96fe86a63406f3c62887f78267cea9b22dc6f7007009738509800d4a4dccc444abd71d762287c90f35b002eb1c + languageName: node + linkType: hard + "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -2576,6 +3717,15 @@ __metadata: languageName: node linkType: hard +"thread-stream@npm:^2.0.0": + version: 2.3.0 + resolution: "thread-stream@npm:2.3.0" + dependencies: + real-require: ^0.2.0 + checksum: e9ea58f9f36320165b41c2aae5c439bf68bd3575eb533c458483d8b290e31d519979e351408c7d6e248711611434332c2a3aae2165650b028cc3eb9b1052ac16 + languageName: node + linkType: hard + "tiny-glob@npm:^0.2.9": version: 0.2.9 resolution: "tiny-glob@npm:0.2.9" @@ -2595,6 +3745,13 @@ __metadata: languageName: node linkType: hard +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 + languageName: node + linkType: hard + "tsconfig-paths@npm:^3.14.1": version: 3.14.1 resolution: "tsconfig-paths@npm:3.14.1" @@ -2679,6 +3836,15 @@ __metadata: languageName: node linkType: hard +"uglify-js@npm:^3.1.4": + version: 3.17.4 + resolution: "uglify-js@npm:3.17.4" + bin: + uglifyjs: bin/uglifyjs + checksum: 7b3897df38b6fc7d7d9f4dcd658599d81aa2b1fb0d074829dd4e5290f7318dbca1f4af2f45acb833b95b1fe0ed4698662ab61b87e94328eb4c0a0d3435baf924 + languageName: node + linkType: hard + "unbox-primitive@npm:^1.0.2": version: 1.0.2 resolution: "unbox-primitive@npm:1.0.2" @@ -2691,6 +3857,24 @@ __metadata: languageName: node linkType: hard +"unique-filename@npm:^2.0.0": + version: 2.0.1 + resolution: "unique-filename@npm:2.0.1" + dependencies: + unique-slug: ^3.0.0 + checksum: 807acf3381aff319086b64dc7125a9a37c09c44af7620bd4f7f3247fcd5565660ac12d8b80534dcbfd067e6fe88a67e621386dd796a8af828d1337a8420a255f + languageName: node + linkType: hard + +"unique-slug@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-slug@npm:3.0.0" + dependencies: + imurmurhash: ^0.1.4 + checksum: 49f8d915ba7f0101801b922062ee46b7953256c93ceca74303bd8e6413ae10aa7e8216556b54dc5382895e8221d04f1efaf75f945c2e4a515b4139f77aa6640c + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -2700,6 +3884,30 @@ __metadata: languageName: node linkType: hard +"util-deprecate@npm:^1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: ~0.0.3 + webidl-conversions: ^3.0.0 + checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c + languageName: node + linkType: hard + "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -2739,7 +3947,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^2.0.1": +"which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" dependencies: @@ -2750,6 +3958,15 @@ __metadata: languageName: node linkType: hard +"wide-align@npm:^1.1.2, wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: ^1.0.2 || 2 || 3 || 4 + checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 + languageName: node + linkType: hard + "word-wrap@npm:^1.2.3": version: 1.2.3 resolution: "word-wrap@npm:1.2.3" @@ -2757,6 +3974,13 @@ __metadata: languageName: node linkType: hard +"wordwrap@npm:^1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 2a44b2788165d0a3de71fd517d4880a8e20ea3a82c080ce46e294f0b68b69a2e49cff5f99c600e275c698a90d12c5ea32aff06c311f0db2eb3f1201f3e7b2a04 + languageName: node + linkType: hard + "wrappy@npm:1": version: 1.0.2 resolution: "wrappy@npm:1.0.2"