diff --git a/apps/backend/.env.example b/apps/backend/.env.example index 135a106..9559717 100644 --- a/apps/backend/.env.example +++ b/apps/backend/.env.example @@ -1,6 +1,8 @@ POSTGRES_USER="example_user" POSTGRES_PASSWORD="example_password" +POSTGRES_DB="example_db" + DATABASE_URL="postgresql://example_user:example_password@localhost:5432/example_db?schema=public" PORT=123 \ No newline at end of file diff --git a/apps/backend/Dockerfile b/apps/backend/Dockerfile index 0913d86..2fb009d 100644 --- a/apps/backend/Dockerfile +++ b/apps/backend/Dockerfile @@ -2,4 +2,4 @@ FROM postgres:15 ENV POSTGRES_USER=${POSTGRES_USER} ENV POSTGRES_PASSWORD=${POSTGRES_PASSWORD} -ENV POSTGRES_DB=devix_admin +ENV POSTGRES_DB=${POSTGRES_DB} \ No newline at end of file diff --git a/apps/backend/Dockerfile.development b/apps/backend/Dockerfile.development new file mode 100644 index 0000000..d7b612b --- /dev/null +++ b/apps/backend/Dockerfile.development @@ -0,0 +1,9 @@ +FROM postgres:15 + +ARG POSTGRES_USER +ARG POSTGRES_PASSWORD +ARG POSTGRES_DB + +ENV POSTGRES_USER=${POSTGRES_USER} +ENV POSTGRES_PASSWORD=${POSTGRES_PASSWORD} +ENV POSTGRES_DB=${POSTGRES_DB} \ No newline at end of file diff --git a/apps/backend/docker-compose.yaml b/apps/backend/docker-compose.yaml index 8e58e90..566ac1e 100644 --- a/apps/backend/docker-compose.yaml +++ b/apps/backend/docker-compose.yaml @@ -1,5 +1,3 @@ -version: "3" - services: devixid: build: @@ -9,13 +7,21 @@ services: ports: - "5434:5432" environment: - POSTGRES_DB: devix_admin + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} + env_file: + - .env devixid_dev: build: context: . - dockerfile: Dockerfile + dockerfile: Dockerfile.development + args: + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} image: devixid_dev + env_file: + - .env.development ports: - "5435:5432" - environment: - POSTGRES_DB: devix_admin_dev diff --git a/apps/backend/package.json b/apps/backend/package.json index 451127d..854fd1f 100644 --- a/apps/backend/package.json +++ b/apps/backend/package.json @@ -29,7 +29,7 @@ "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "dotenv -e .env.test -- jest --config --watch --no-cache ./test/jest-e2e.json", - "pretest:e2e": "yarn db:test:restart" + "pretest:e2e": "pnpm db:test:restart" }, "lint-staged": { "**/*.{html,css,scss,less,json,js,jsx,ts,tsx,md,mdx}\"": [ diff --git a/apps/backend/prisma/schema.prisma b/apps/backend/prisma/schema.prisma index 8d3eae4..23f57f4 100644 --- a/apps/backend/prisma/schema.prisma +++ b/apps/backend/prisma/schema.prisma @@ -10,6 +10,18 @@ datasource db { url = env("DATABASE_URL") } +model Portfolio { + id Int @id @default(autoincrement()) + title String + description String + url String + image String @db.VarChar(255) + keywords String[] + uploaderId Int + + @@index([title, keywords]) +} + model User { id Int @id @default(autoincrement()) createdAt DateTime @default(now()) @@ -18,8 +30,14 @@ model User { email String @unique hash String - firstName String? - lastName String? + userName String? + fullName String? + role UserRole @default(ADMIN) @@map("users") } + +enum UserRole { + ADMIN + SUPER_ADMIN +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f5c356e..05220f5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,16 +10,19 @@ importers: devDependencies: commitizen: specifier: ^4.3.0 - version: 4.3.0(@types/node@20.12.12)(typescript@5.1.3) + version: 4.3.0(@types/node@22.4.0)(typescript@5.1.3) cz-conventional-changelog: specifier: ^3.3.0 - version: 3.3.0(@types/node@20.12.12)(typescript@5.1.3) + version: 3.3.0(@types/node@22.4.0)(typescript@5.1.3) husky: specifier: ^8.0.3 version: 8.0.3 lint-staged: specifier: ^14.0.1 version: 14.0.1 + turbo: + specifier: 1.2.5 + version: 1.2.5 apps/backend: dependencies: @@ -320,6 +323,10 @@ packages: resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.24.4': resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} engines: {node: '>=6.9.0'} @@ -374,8 +381,8 @@ packages: resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.5': - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} '@babel/helper-validator-option@7.23.5': @@ -386,8 +393,8 @@ packages: resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.5': - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} '@babel/parser@7.24.5': @@ -1915,6 +1922,9 @@ packages: '@types/node@20.4.2': resolution: {integrity: sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==} + '@types/node@22.4.0': + resolution: {integrity: sha512-49AbMDwYUz7EXxKU/r7mXOsxwFr4BYbvB7tWYxVuLdb2ibd30ijjXINSMAHiEEZk5PCRBmW1gUeisn2VMKt3cQ==} + '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -2191,8 +2201,8 @@ packages: ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - ajv@8.13.0: - resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -2397,8 +2407,8 @@ packages: brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} browserslist@4.23.0: @@ -3344,6 +3354,9 @@ packages: fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-uri@3.0.1: + resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} + fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -3358,8 +3371,8 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} finalhandler@1.2.0: @@ -3687,6 +3700,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -4050,6 +4064,10 @@ packages: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4331,6 +4349,10 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -5208,8 +5230,8 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} @@ -5666,12 +5688,79 @@ packages: tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + turbo-darwin-64@1.2.5: + resolution: {integrity: sha512-AjMEF8hlA9vy1gXLHBruqgO42s0M0rKKZLQPM239wli5lKEprmxd8WMSjd9YmxRflS+/fwrXfjVl0QRhHjDIww==} + cpu: [x64] + os: [darwin] + + turbo-darwin-arm64@1.2.5: + resolution: {integrity: sha512-2kj4+X9XMGF9o398qVo4HDsaoPy2kcl77X+EYlq2bROoQlGXRrR7R+i/qMvLh4tLsSQAm5eOqEbFyvtMkxT/xg==} + cpu: [arm64] + os: [darwin] + + turbo-freebsd-64@1.2.5: + resolution: {integrity: sha512-29eQUiS/Fky7O8E0YzGh3EETPvMKmMDkFjJn4XtRGO+iZfkIxlqKnAUpT+8kx3nQ/5dAAoTGHflyf4FNEZaCKA==} + cpu: [x64] + os: [freebsd] + + turbo-freebsd-arm64@1.2.5: + resolution: {integrity: sha512-WRFmzgXqXurdRntPrEb7hcOM1Zfjse8OC/sH3V8R9QspYE+upZ42m9ePLt2n5N2shc4XLced/9VFdczx9549Tw==} + cpu: [arm64] + os: [freebsd] + + turbo-linux-32@1.2.5: + resolution: {integrity: sha512-YBzKqXJEoORpPq7vwpNf9ovbVru9aQi7HD88fxYW1wvvuPdNx2ZAmjn8sEMZZPkndfOlf9fXgO3aXr0fjqUWMw==} + cpu: [ia32] + os: [linux] + + turbo-linux-64@1.2.5: + resolution: {integrity: sha512-a85WEfOj4Cw0zd/wo1xoRmqW4kZHAz63nf+vWINyxZOK2H899TCUs+KJpgsacafU0fO36l1rsx2fdUDce/3Dww==} + cpu: [x64] + os: [linux] + + turbo-linux-arm64@1.2.5: + resolution: {integrity: sha512-ZtPQx9yw+iMT+sYPYcrtbCye7a/aj93gA2krir4MI+CDp69LuHLuZOOfc8u4JCxSJTbRLoYcwJrdfB9uBSddIQ==} + cpu: [arm64] + os: [linux] + + turbo-linux-arm@1.2.5: + resolution: {integrity: sha512-JlLk5cGmj5yRwBQuPMH36w5ZJg0sBfi+dxBZTkJUV9XM9MRgNUs0MkNnjh9ogGvB4R08HY4ud6XcyRdoKLs9pA==} + cpu: [arm] + os: [linux] + + turbo-linux-mips64le@1.2.5: + resolution: {integrity: sha512-3LLnEwKc5pf7MlUhwvq/ND2cx0f7v3LHK5587CVTQI9nnwgie42n5U168J7BPPPkIE0k0j4S1jeXU18DV3vWbA==} + cpu: [mips64el] + os: [linux] + + turbo-linux-ppc64le@1.2.5: + resolution: {integrity: sha512-1k4lBCu2jdQNF3KXjPAbOER5/j37AdBqHnuHB6JuiOocm+v3WgEfkctkqLrgow3q1HLeb4me3wGXstV//6dzSg==} + cpu: [ppc64] + os: [linux] + + turbo-windows-32@1.2.5: + resolution: {integrity: sha512-XT2g/kZopqARjs39MNVP5XysrK2R0P9QVnrRdVY72zgswLvvcvDI6SM5SPX/SWF4iLU5OEUlpCaUz5dJLGMGUw==} + cpu: [ia32] + os: [win32] + + turbo-windows-64@1.2.5: + resolution: {integrity: sha512-Ut097JJv9qy/8cpHANB7/BH0uh2IZbUeSSRudTl8tfMX8ZEdla/NpJd+omMV4CwPRrZAO6SyKiTfeHFOt/6NgQ==} + cpu: [x64] + os: [win32] + + turbo@1.2.5: + resolution: {integrity: sha512-KXk5BGCaiSSXhtorrLUILB3OTqZ/uruIi0ggb0jSp55ZDSS+G/4OANw7y5QuRjizCpjwunb47AAOox/2Zn2nbA==} + hasBin: true + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -5735,6 +5824,9 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.6: + resolution: {integrity: sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org==} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -6006,7 +6098,12 @@ snapshots: '@babel/code-frame@7.24.2': dependencies: - '@babel/highlight': 7.24.5 + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 picocolors: 1.0.1 '@babel/compat-data@7.24.4': {} @@ -6014,7 +6111,7 @@ snapshots: '@babel/core@7.24.5': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@babel/generator': 7.24.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) @@ -6068,7 +6165,7 @@ snapshots: '@babel/helper-module-imports': 7.24.3 '@babel/helper-simple-access': 7.24.5 '@babel/helper-split-export-declaration': 7.24.5 - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.24.7 '@babel/helper-plugin-utils@7.24.5': {} @@ -6082,7 +6179,7 @@ snapshots: '@babel/helper-string-parser@7.24.1': {} - '@babel/helper-validator-identifier@7.24.5': {} + '@babel/helper-validator-identifier@7.24.7': {} '@babel/helper-validator-option@7.23.5': {} @@ -6094,9 +6191,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/highlight@7.24.5': + '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.1 @@ -6181,13 +6278,13 @@ snapshots: '@babel/template@7.24.0': dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@babel/parser': 7.24.5 '@babel/types': 7.24.5 '@babel/traverse@7.24.5': dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@babel/generator': 7.24.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 @@ -6203,7 +6300,7 @@ snapshots: '@babel/types@7.24.5': dependencies: '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 '@bcoe/v8-coverage@0.2.3': {} @@ -6214,7 +6311,7 @@ snapshots: '@commitlint/config-validator@19.0.3': dependencies: '@commitlint/types': 19.0.3 - ajv: 8.13.0 + ajv: 8.17.1 optional: true '@commitlint/execute-rule@19.0.0': @@ -6237,7 +6334,7 @@ snapshots: - typescript optional: true - '@commitlint/load@19.2.0(@types/node@20.12.12)(typescript@5.1.3)': + '@commitlint/load@19.2.0(@types/node@22.4.0)(typescript@5.1.3)': dependencies: '@commitlint/config-validator': 19.0.3 '@commitlint/execute-rule': 19.0.0 @@ -6245,7 +6342,7 @@ snapshots: '@commitlint/types': 19.0.3 chalk: 5.3.0 cosmiconfig: 9.0.0(typescript@5.1.3) - cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.12)(cosmiconfig@9.0.0(typescript@5.1.3))(typescript@5.1.3) + cosmiconfig-typescript-loader: 5.0.0(@types/node@22.4.0)(cosmiconfig@9.0.0(typescript@5.1.3))(typescript@5.1.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -6316,26 +6413,26 @@ snapshots: '@formatjs/ecma402-abstract@1.18.3': dependencies: '@formatjs/intl-localematcher': 0.5.4 - tslib: 2.6.2 + tslib: 2.6.3 '@formatjs/fast-memoize@2.2.0': dependencies: - tslib: 2.6.2 + tslib: 2.6.3 '@formatjs/icu-messageformat-parser@2.7.7': dependencies: '@formatjs/ecma402-abstract': 1.18.3 '@formatjs/icu-skeleton-parser': 1.8.1 - tslib: 2.6.2 + tslib: 2.6.3 '@formatjs/icu-skeleton-parser@1.8.1': dependencies: '@formatjs/ecma402-abstract': 1.18.3 - tslib: 2.6.2 + tslib: 2.6.3 '@formatjs/intl-localematcher@0.5.4': dependencies: - tslib: 2.6.2 + tslib: 2.6.3 '@humanwhocodes/config-array@0.11.14': dependencies: @@ -6420,7 +6517,7 @@ snapshots: jest-util: 29.7.0 jest-validate: 29.7.0 jest-watcher: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 @@ -6433,7 +6530,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.4.2 + '@types/node': 18.11.18 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -6451,7 +6548,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.4.2 + '@types/node': 18.11.18 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -6531,7 +6628,7 @@ snapshots: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -8490,20 +8587,20 @@ snapshots: '@swc/helpers@0.4.14': dependencies: - tslib: 2.6.2 + tslib: 2.6.3 '@swc/helpers@0.4.36': dependencies: legacy-swc-helpers: '@swc/helpers@0.4.14' - tslib: 2.6.2 + tslib: 2.6.3 '@swc/helpers@0.5.11': dependencies: - tslib: 2.6.2 + tslib: 2.6.3 '@swc/helpers@0.5.2': dependencies: - tslib: 2.6.2 + tslib: 2.6.3 '@tailwindcss/forms@0.5.7(tailwindcss@3.4.3(ts-node@10.9.2(@types/node@20.4.2)(typescript@5.1.3)))': dependencies: @@ -8562,7 +8659,7 @@ snapshots: '@types/conventional-commits-parser@5.0.0': dependencies: - '@types/node': 20.4.2 + '@types/node': 22.4.0 optional: true '@types/cookiejar@2.1.5': {} @@ -8595,7 +8692,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 20.4.2 + '@types/node': 18.11.18 '@types/http-errors@2.0.4': {} @@ -8644,6 +8741,11 @@ snapshots: '@types/node@20.4.2': {} + '@types/node@22.4.0': + dependencies: + undici-types: 6.19.6 + optional: true + '@types/parse-json@4.0.2': {} '@types/passport-jwt@3.0.13': @@ -8708,7 +8810,7 @@ snapshots: '@types/ws@8.5.10': dependencies: - '@types/node': 20.4.2 + '@types/node': 20.12.12 '@types/yargs-parser@21.0.3': {} @@ -9039,12 +9141,12 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - ajv@8.13.0: + ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 + fast-uri: 3.0.1 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - uri-js: 4.4.1 optional: true ansi-colors@4.1.3: {} @@ -9327,9 +9429,9 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 browserslist@4.23.0: dependencies: @@ -9423,7 +9525,7 @@ snapshots: chokidar@3.5.3: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -9435,7 +9537,7 @@ snapshots: chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -9554,7 +9656,7 @@ snapshots: commitizen@4.3.0: dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@20.12.12)(typescript@5.1.3) + cz-conventional-changelog: 3.3.0(@types/node@22.4.0)(typescript@5.1.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -9588,10 +9690,10 @@ snapshots: - '@types/node' - typescript - commitizen@4.3.0(@types/node@20.12.12)(typescript@5.1.3): + commitizen@4.3.0(@types/node@22.4.0)(typescript@5.1.3): dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@20.12.12)(typescript@5.1.3) + cz-conventional-changelog: 3.3.0(@types/node@22.4.0)(typescript@5.1.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -9654,15 +9756,15 @@ snapshots: dependencies: '@types/node': 18.11.18 cosmiconfig: 9.0.0(typescript@4.9.5) - jiti: 1.21.0 + jiti: 1.21.6 typescript: 4.9.5 optional: true - cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.12)(cosmiconfig@9.0.0(typescript@5.1.3))(typescript@5.1.3): + cosmiconfig-typescript-loader@5.0.0(@types/node@22.4.0)(cosmiconfig@9.0.0(typescript@5.1.3))(typescript@5.1.3): dependencies: - '@types/node': 20.12.12 + '@types/node': 22.4.0 cosmiconfig: 9.0.0(typescript@5.1.3) - jiti: 1.21.0 + jiti: 1.21.6 typescript: 5.1.3 optional: true @@ -9807,7 +9909,7 @@ snapshots: - '@types/node' - typescript - cz-conventional-changelog@3.3.0(@types/node@20.12.12)(typescript@5.1.3): + cz-conventional-changelog@3.3.0(@types/node@22.4.0)(typescript@5.1.3): dependencies: chalk: 2.4.2 commitizen: 4.3.0 @@ -9816,7 +9918,7 @@ snapshots: longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 19.2.0(@types/node@20.12.12)(typescript@5.1.3) + '@commitlint/load': 19.2.0(@types/node@22.4.0)(typescript@5.1.3) transitivePeerDependencies: - '@types/node' - typescript @@ -10605,7 +10707,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 fast-json-stable-stringify@2.1.0: {} @@ -10613,6 +10715,9 @@ snapshots: fast-safe-stringify@2.1.1: {} + fast-uri@3.0.1: + optional: true + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -10629,7 +10734,7 @@ snapshots: dependencies: flat-cache: 3.2.0 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -10666,7 +10771,7 @@ snapshots: dependencies: detect-file: 1.0.0 is-glob: 4.0.3 - micromatch: 4.0.5 + micromatch: 4.0.7 resolve-dir: 1.0.1 flat-cache@3.2.0: @@ -11050,7 +11155,7 @@ snapshots: '@formatjs/ecma402-abstract': 1.18.3 '@formatjs/fast-memoize': 2.2.0 '@formatjs/icu-messageformat-parser': 2.7.7 - tslib: 2.6.2 + tslib: 2.6.3 invariant@2.2.4: dependencies: @@ -11251,7 +11356,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.4.2 + '@types/node': 18.11.18 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -11309,7 +11414,7 @@ snapshots: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -11345,7 +11450,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.4.2 + '@types/node': 18.11.18 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -11362,7 +11467,7 @@ snapshots: jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -11381,12 +11486,12 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -11394,7 +11499,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.4.2 + '@types/node': 18.11.18 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -11531,13 +11636,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.4.2 + '@types/node': 18.11.18 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.4.2 + '@types/node': 18.11.18 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -11556,6 +11661,9 @@ snapshots: jiti@1.21.0: {} + jiti@1.21.6: + optional: true + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -11681,7 +11789,7 @@ snapshots: colorette: 2.0.20 eventemitter3: 5.0.1 log-update: 5.0.1 - rfdc: 1.3.1 + rfdc: 1.4.1 wrap-ansi: 8.1.0 loader-runner@4.3.0: {} @@ -11806,7 +11914,12 @@ snapshots: micromatch@4.0.5: dependencies: - braces: 3.0.2 + braces: 3.0.3 + picomatch: 2.3.1 + + micromatch@4.0.7: + dependencies: + braces: 3.0.3 picomatch: 2.3.1 mime-db@1.52.0: {} @@ -12110,7 +12223,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -12479,7 +12592,7 @@ snapshots: dependencies: react: 18.3.1 react-style-singleton: 2.2.1(@types/react@18.2.15)(react@18.3.1) - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': 18.2.15 @@ -12488,7 +12601,7 @@ snapshots: react: 18.3.1 react-remove-scroll-bar: 2.3.6(@types/react@18.2.15)(react@18.3.1) react-style-singleton: 2.2.1(@types/react@18.2.15)(react@18.3.1) - tslib: 2.6.2 + tslib: 2.6.3 use-callback-ref: 1.3.2(@types/react@18.2.15)(react@18.3.1) use-sidecar: 1.1.2(@types/react@18.2.15)(react@18.3.1) optionalDependencies: @@ -12499,7 +12612,7 @@ snapshots: get-nonce: 1.0.1 invariant: 2.2.4 react: 18.3.1 - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': 18.2.15 @@ -12612,7 +12725,7 @@ snapshots: reusify@1.0.4: {} - rfdc@1.3.1: {} + rfdc@1.4.1: {} rimraf@3.0.2: dependencies: @@ -12944,7 +13057,7 @@ snapshots: synckit@0.8.8: dependencies: '@pkgr/core': 0.1.1 - tslib: 2.6.2 + tslib: 2.6.3 tailwind-merge@1.14.0: {} @@ -13157,6 +13270,8 @@ snapshots: tslib@2.6.2: {} + tslib@2.6.3: {} + tsutils@3.21.0(typescript@4.9.5): dependencies: tslib: 1.14.1 @@ -13167,6 +13282,57 @@ snapshots: tslib: 1.14.1 typescript: 5.1.3 + turbo-darwin-64@1.2.5: + optional: true + + turbo-darwin-arm64@1.2.5: + optional: true + + turbo-freebsd-64@1.2.5: + optional: true + + turbo-freebsd-arm64@1.2.5: + optional: true + + turbo-linux-32@1.2.5: + optional: true + + turbo-linux-64@1.2.5: + optional: true + + turbo-linux-arm64@1.2.5: + optional: true + + turbo-linux-arm@1.2.5: + optional: true + + turbo-linux-mips64le@1.2.5: + optional: true + + turbo-linux-ppc64le@1.2.5: + optional: true + + turbo-windows-32@1.2.5: + optional: true + + turbo-windows-64@1.2.5: + optional: true + + turbo@1.2.5: + optionalDependencies: + turbo-darwin-64: 1.2.5 + turbo-darwin-arm64: 1.2.5 + turbo-freebsd-64: 1.2.5 + turbo-freebsd-arm64: 1.2.5 + turbo-linux-32: 1.2.5 + turbo-linux-64: 1.2.5 + turbo-linux-arm: 1.2.5 + turbo-linux-arm64: 1.2.5 + turbo-linux-mips64le: 1.2.5 + turbo-linux-ppc64le: 1.2.5 + turbo-windows-32: 1.2.5 + turbo-windows-64: 1.2.5 + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -13235,6 +13401,9 @@ snapshots: undici-types@5.26.5: {} + undici-types@6.19.6: + optional: true + universalify@2.0.1: {} unpipe@1.0.0: {} @@ -13252,7 +13421,7 @@ snapshots: use-callback-ref@1.3.2(@types/react@18.2.15)(react@18.3.1): dependencies: react: 18.3.1 - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': 18.2.15 @@ -13277,7 +13446,7 @@ snapshots: dependencies: detect-node-es: 1.1.0 react: 18.3.1 - tslib: 2.6.2 + tslib: 2.6.3 optionalDependencies: '@types/react': 18.2.15