From 151cbd60e6fa8ed0648e79ce34666b0babd03d81 Mon Sep 17 00:00:00 2001 From: itsmegood Date: Tue, 20 Feb 2024 22:05:14 +0530 Subject: [PATCH] improving new invoice and search --- app/components/search-bar.tsx | 4 +- app/routes/c.$companyId+/accounts.tsx | 2 +- app/routes/c.$companyId+/sales.tsx | 2 +- app/routes/c.$companyId+/search.tsx | 105 ++--- .../{$accountId.tsx => cust.$accountId.tsx} | 2 +- ...Id_.edit.tsx => cust.$accountId_.edit.tsx} | 0 .../c.$companyId.accounts+/cust.index.tsx | 83 ++++ app/routes/c.$companyId.accounts+/index.tsx | 2 +- .../c.$companyId.sales+/new-invoice.tsx | 73 ++++ .../c.$companyId.sales+/new.$accountId.tsx | 32 -- app/routes/c.$companyId.sales+/new.guest.tsx | 16 - package-lock.json | 386 +++++++++--------- package.json | 14 +- 13 files changed, 421 insertions(+), 300 deletions(-) rename app/routes/c.$companyId.accounts+/{$accountId.tsx => cust.$accountId.tsx} (97%) rename app/routes/c.$companyId.accounts+/{$accountId_.edit.tsx => cust.$accountId_.edit.tsx} (100%) create mode 100644 app/routes/c.$companyId.accounts+/cust.index.tsx create mode 100644 app/routes/c.$companyId.sales+/new-invoice.tsx delete mode 100644 app/routes/c.$companyId.sales+/new.$accountId.tsx delete mode 100644 app/routes/c.$companyId.sales+/new.guest.tsx diff --git a/app/components/search-bar.tsx b/app/components/search-bar.tsx index a36796d..f435016 100644 --- a/app/components/search-bar.tsx +++ b/app/components/search-bar.tsx @@ -44,11 +44,11 @@ export function SearchBar({
autoSubmit && handleFormChange(e.currentTarget)} onSubmit={onSubmitHandler} > -
+
diff --git a/app/routes/c.$companyId+/accounts.tsx b/app/routes/c.$companyId+/accounts.tsx index 0800cd7..f7a20b2 100644 --- a/app/routes/c.$companyId+/accounts.tsx +++ b/app/routes/c.$companyId+/accounts.tsx @@ -12,7 +12,7 @@ const salesRoutes = [ }, { title: 'Customers', - href: 'customers', + href: 'cust', }, { title: 'New Account', diff --git a/app/routes/c.$companyId+/sales.tsx b/app/routes/c.$companyId+/sales.tsx index 2f51880..d0fa3b9 100644 --- a/app/routes/c.$companyId+/sales.tsx +++ b/app/routes/c.$companyId+/sales.tsx @@ -20,7 +20,7 @@ const salesRoutes = [ }, { title: 'New Sale', - href: '../search', + href: 'new-invoice', }, ] diff --git a/app/routes/c.$companyId+/search.tsx b/app/routes/c.$companyId+/search.tsx index c777786..59c05ff 100644 --- a/app/routes/c.$companyId+/search.tsx +++ b/app/routes/c.$companyId+/search.tsx @@ -1,5 +1,5 @@ import { type LoaderFunctionArgs, json } from '@remix-run/node' -import { Link, useLoaderData } from '@remix-run/react' +import { Link, useLoaderData, useParams } from '@remix-run/react' import { SearchBar } from '#app/components/search-bar' import { Button } from '#app/components/ui/button' import { @@ -9,6 +9,12 @@ import { DropdownMenuTrigger, } from '#app/components/ui/dropdown-menu' import { Icon, type IconName } from '#app/components/ui/icon' +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from '#app/components/ui/tooltip' import { prisma } from '#app/utils/db.server' import { requireCompanyUserWithRBAC } from '#app/utils/permissions.server' @@ -51,10 +57,22 @@ let purchaseBills: { }[] = [] const searchKeywords = { - Account: 'acc', - Account_UID: 'uid', - Invoice: 'inv', - Bill: 'bill', + Account: { + key: 'acc', + info: 'Search for accounts using names', + }, + Account_UID: { + key: 'uid', + info: 'Search for accounts by unique ID', + }, + Invoice: { + key: 'inv', + info: 'Search for invoices using invoice number', + }, + Bill: { + key: 'bill', + info: 'Search for bills via bill number', + }, } export async function loader({ request, params }: LoaderFunctionArgs) { @@ -73,7 +91,8 @@ export async function loader({ request, params }: LoaderFunctionArgs) { }) const url = new URL(request.url) - const searchTerm = String(url.searchParams.get('search')) + // ? q stands for query + const searchTerm = String(url.searchParams.get('q')) if (!searchTerm || searchTerm.trim().length < 3 || searchTerm.length > 20) return null @@ -215,7 +234,7 @@ export async function loader({ request, params }: LoaderFunctionArgs) { const like = `%${field.trim()}%` switch (keyword.toLowerCase()) { - case searchKeywords.Account: + case searchKeywords.Account.key: accounts = await prisma.account.findMany({ where: { // companyId: user.userCompanies[0].companyId @@ -232,7 +251,7 @@ export async function loader({ request, params }: LoaderFunctionArgs) { }) break - case searchKeywords.Account_UID: + case searchKeywords.Account_UID.key: accounts = await prisma.account.findMany({ where: { // companyId: user.userCompanies[0].companyId @@ -249,7 +268,7 @@ export async function loader({ request, params }: LoaderFunctionArgs) { }) break - case searchKeywords.Invoice: + case searchKeywords.Invoice.key: saleInvoices = await prisma.saleInvoice.findMany({ where: { // companyId: user.userCompanies[0].companyId @@ -280,7 +299,7 @@ export async function loader({ request, params }: LoaderFunctionArgs) { }) break - case searchKeywords.Bill: + case searchKeywords.Bill.key: purchaseBills = await prisma.purchaseBill.findMany({ where: { // companyId: user.userCompanies[0].companyId @@ -319,20 +338,38 @@ export async function loader({ request, params }: LoaderFunctionArgs) { export default function CompanySearch() { const data = useLoaderData() + const params = useParams() + return ( <>

Discover

-
- - -
- - Advanced Search - - - Filter - +
+ + +
+ Search faster using keywords +
+ + {Object.entries(searchKeywords).map(([_, value]) => ( + + + {value.key}: + + {value.info} + + ))} + +
@@ -356,38 +393,14 @@ export default function CompanySearch() { items={[ { label: 'New Sale', - href: `../sales/new/${account.id}`, + href: `/c/${params.companyId}/sales/new-invoice?accountId=${account.id}`, icon: 'file-text', }, - { label: 'Edit', href: 'hello', icon: 'pencil-1' }, + { label: 'View', href: 'hello', icon: 'avatar' }, ]} /> ))} - {data.accounts.map(account => ( -
  • {}} - > -
    - {account.name} - {account.uniqueId} -
    - {/* */} -
  • - ))} - {data.accounts.map(account => ( -
  • {}} - > -
    - {account.name} - {account.uniqueId} -
    - {/* */} -
  • - ))} )} diff --git a/app/routes/c.$companyId.accounts+/$accountId.tsx b/app/routes/c.$companyId.accounts+/cust.$accountId.tsx similarity index 97% rename from app/routes/c.$companyId.accounts+/$accountId.tsx rename to app/routes/c.$companyId.accounts+/cust.$accountId.tsx index 38706ad..2facebb 100644 --- a/app/routes/c.$companyId.accounts+/$accountId.tsx +++ b/app/routes/c.$companyId.accounts+/cust.$accountId.tsx @@ -51,7 +51,7 @@ export async function loader({ params, request }: LoaderFunctionArgs) { return json({ account }) } -export default function CompanyAccount() { +export default function CompanyAccountCustomer() { const data = useLoaderData() return ( diff --git a/app/routes/c.$companyId.accounts+/$accountId_.edit.tsx b/app/routes/c.$companyId.accounts+/cust.$accountId_.edit.tsx similarity index 100% rename from app/routes/c.$companyId.accounts+/$accountId_.edit.tsx rename to app/routes/c.$companyId.accounts+/cust.$accountId_.edit.tsx diff --git a/app/routes/c.$companyId.accounts+/cust.index.tsx b/app/routes/c.$companyId.accounts+/cust.index.tsx new file mode 100644 index 0000000..7b12c12 --- /dev/null +++ b/app/routes/c.$companyId.accounts+/cust.index.tsx @@ -0,0 +1,83 @@ +import { invariantResponse } from '@epic-web/invariant' +import { type LoaderFunctionArgs, json } from '@remix-run/node' +import { Link, useLoaderData } from '@remix-run/react' +import { Button } from '#app/components/ui/button' +import { requireUserId } from '#app/utils/auth.server' +import { PLATFORM_STATUS } from '#app/utils/constants/platform-status' +import { prisma } from '#app/utils/db.server' + +export async function loader({ request, params }: LoaderFunctionArgs) { + const userId = await requireUserId(request) + + const company = await prisma.company.findUnique({ + where: { + id: params.companyId, + users: { + some: { + userId: userId, + }, + }, + platformStatusKey: PLATFORM_STATUS.ACTIVE.KEY, + }, + select: { + accounts: { + select: { + id: true, + name: true, + uniqueId: true, + }, + }, + }, + }) + + invariantResponse(company, 'Not found', { status: 404 }) + + return json({ company }) +} + +export default function CompanyAccountsCustomer() { + const data = useLoaderData() + + return ( + <> + + + + + + + + + + {data.company.accounts.map(customer => ( + + + + + + ))} + +
    + Name + + Unique Id + + Edit +
    + {customer.name} +
    +
    Unique Id
    +
    + {customer.uniqueId ?? '-'} +
    +
    +
    + {customer.uniqueId ?? '-'} + + + + +
    + + ) +} diff --git a/app/routes/c.$companyId.accounts+/index.tsx b/app/routes/c.$companyId.accounts+/index.tsx index 0146516..fe1c928 100644 --- a/app/routes/c.$companyId.accounts+/index.tsx +++ b/app/routes/c.$companyId.accounts+/index.tsx @@ -70,7 +70,7 @@ export default function CompanyCustomerAccountsOverview() { {customer.uniqueId ?? '-'} - + diff --git a/app/routes/c.$companyId.sales+/new-invoice.tsx b/app/routes/c.$companyId.sales+/new-invoice.tsx new file mode 100644 index 0000000..f773661 --- /dev/null +++ b/app/routes/c.$companyId.sales+/new-invoice.tsx @@ -0,0 +1,73 @@ +import { type LoaderFunctionArgs } from '@remix-run/node' +import { json, redirect, useLoaderData } from '@remix-run/react' +import { prisma } from '#app/utils/db.server' +import { requireCompanyUserWithRBAC } from '#app/utils/permissions.server' + +export async function loader({ request, params }: LoaderFunctionArgs) { + await requireCompanyUserWithRBAC({ + request, + companyId: params.companyId!, + permission: 'create:company-account', + }) + + const url = new URL(request.url) + const searchParams = url.searchParams + + // ! Removing guest mode for now I can just make a misc account for all guest stuff + // const checkGuest = searchParams.get('guest') + // if (checkGuest) return null + + const accountId = searchParams.get('accountId') + + if (!accountId || accountId.length >= 25 || accountId.length <= 36) + return redirect(`/c/${params.companyId}/search?q=acc:`) + + const account = await prisma.account.findFirst({ + where: { + id: params.accountId, + companyId: params.companyId, + }, + select: { + id: true, + name: true, + balance: true, + uniqueId: true, + // phone: true, + }, + }) + return json({ account }) +} + +export default function CompanySaleNew() { + // const data = useLoaderData() + + return
    Hello
    +} + +// ! Remove the guest stuff completely +// export default function CompanySaleNew() { +// const data = useLoaderData() + +// const params = useParams() + +// // create a modal to select whether to enter guest mode or search account using tailwindcss and react +// return ( +//
    +// console.log('Entering Guest Mode')} +// > +// Guest Mode +// +// console.log('Searching Account')} +// > +// Search Account +// +//
    + +// ) +// } diff --git a/app/routes/c.$companyId.sales+/new.$accountId.tsx b/app/routes/c.$companyId.sales+/new.$accountId.tsx deleted file mode 100644 index d7e2408..0000000 --- a/app/routes/c.$companyId.sales+/new.$accountId.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { type LoaderFunctionArgs } from '@remix-run/node' -import { json, useLoaderData } from '@remix-run/react' -import { prisma } from '#app/utils/db.server' -import { requireCompanyUserWithRBAC } from '#app/utils/permissions.server' -// import { SaleEditor, action } from './__sale-editor' - -export async function loader({ request, params }: LoaderFunctionArgs) { - await requireCompanyUserWithRBAC({ - request, - companyId: params.companyId!, - permission: 'create:company-account', - }) - - const account = await prisma.account.findFirst({ - where: { - id: params.accountId, - companyId: params.companyId, - }, - // select: {}, - }) - - return json({ account }) -} - -// export { action } - -export default function CompanyAccountsEdit() { - const data = useLoaderData() - - // return - return
    Account {data.account?.name}
    -} diff --git a/app/routes/c.$companyId.sales+/new.guest.tsx b/app/routes/c.$companyId.sales+/new.guest.tsx deleted file mode 100644 index b74b7a6..0000000 --- a/app/routes/c.$companyId.sales+/new.guest.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { type LoaderFunctionArgs } from '@remix-run/node' -import { requireCompanyUserWithRBAC } from '#app/utils/permissions.server' -import { SaleEditor, action } from './__sale-editor' - -export async function loader({ request, params }: LoaderFunctionArgs) { - await requireCompanyUserWithRBAC({ - request, - companyId: params.companyId!, - permission: 'create:company-account', - }) - - return null -} - -export { action } -export default SaleEditor diff --git a/package-lock.json b/package-lock.json index ed5ed3a..8445004 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,8 +6,8 @@ "": { "name": "bookbreeze-5848", "dependencies": { - "@conform-to/react": "^1.0.1", - "@conform-to/zod": "^1.0.1", + "@conform-to/react": "^1.0.2", + "@conform-to/zod": "^1.0.2", "@epic-web/cachified": "^5.1.2", "@epic-web/client-hints": "^1.3.0", "@epic-web/invariant": "^1.0.0", @@ -29,8 +29,8 @@ "@remix-run/node": "^2.6.0", "@remix-run/react": "^2.6.0", "@remix-run/server-runtime": "^2.6.0", - "@sentry/profiling-node": "^7.101.1", - "@sentry/remix": "^7.101.1", + "@sentry/profiling-node": "^7.102.0", + "@sentry/remix": "^7.102.0", "address": "^2.0.1", "bcryptjs": "^2.4.3", "better-sqlite3": "^9.4.1", @@ -43,7 +43,7 @@ "cross-env": "^7.0.3", "crypto-js": "^4.2.0", "date-fns": "^3.3.1", - "dotenv": "^16.4.4", + "dotenv": "^16.4.5", "eslint-plugin-remix-react-routes": "^1.0.5", "execa": "^8.0.1", "express": "^4.18.2", @@ -96,7 +96,7 @@ "@types/morgan": "^1.9.9", "@types/node": "^20.11.19", "@types/qrcode": "^1.5.5", - "@types/react": "^18.2.56", + "@types/react": "^18.2.57", "@types/react-dom": "^18.2.19", "@types/set-cookie-parser": "^2.4.7", "@types/source-map-support": "^0.5.10", @@ -105,7 +105,7 @@ "autoprefixer": "^10.4.17", "chokidar": "^3.6.0", "enforce-unique": "^1.2.0", - "esbuild": "^0.20.0", + "esbuild": "^0.20.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "fs-extra": "^11.2.0", @@ -980,27 +980,27 @@ } }, "node_modules/@conform-to/dom": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@conform-to/dom/-/dom-1.0.1.tgz", - "integrity": "sha512-Ut1nqLfH84WbvPcZzoxDo6oFE3PxOUjWK2atxD+Z+F0Xwaw1hYQp5n8V3RLCR1iqfAnMIj3Wt6rjH2tOfBGLJg==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@conform-to/dom/-/dom-1.0.2.tgz", + "integrity": "sha512-iIY7xwkAFboxwE+Y+W7D60RLqFIP2YdRzu5SY+TXBJPPuQTUxcW7ia4YVV/y9SSc105c9mLpNgh2jGKiulGCBQ==" }, "node_modules/@conform-to/react": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@conform-to/react/-/react-1.0.1.tgz", - "integrity": "sha512-QIIoU/KWRfDiFjM7LdSbVKjRDrigR/bKQBwSjkJAU4u1+dT0sszFPZ2x4kMNMNyqsWbYI/jJ8nws4+2hFzZCSQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@conform-to/react/-/react-1.0.2.tgz", + "integrity": "sha512-0kG6sDmmwSQ9ooyhXL82wR6bnScGwH7YCBgbgDQOBEqdTJW8x0P8ETpigdHW1rdIEq5uMubiMs7eps3Qf4F8Og==", "dependencies": { - "@conform-to/dom": "1.0.1" + "@conform-to/dom": "1.0.2" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@conform-to/zod": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@conform-to/zod/-/zod-1.0.1.tgz", - "integrity": "sha512-oCvXlyAj63MIJfRY4YFYdsiQgy7pTAKP5WrthTiaZqpoiyMIW8+EN8qv+UiIcTcIivrgtJECY336PsHgdkwhUQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@conform-to/zod/-/zod-1.0.2.tgz", + "integrity": "sha512-cC5fKDNj+lFnVYCCYHRNjTfck3X8Hmj8gmP/++8cqjFDO/4+NNXICP/+DpppZKl5XMqqCzUVAZkM4/PzG2qjFQ==", "dependencies": { - "@conform-to/dom": "1.0.1" + "@conform-to/dom": "1.0.2" }, "peerDependencies": { "zod": "^3.21.0" @@ -1044,9 +1044,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.0.tgz", - "integrity": "sha512-fGFDEctNh0CcSwsiRPxiaqX0P5rq+AqE0SRhYGZ4PX46Lg1FNR6oCxJghf8YgY0WQEgQuh3lErUFE4KxLeRmmw==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.1.tgz", + "integrity": "sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==", "cpu": [ "ppc64" ], @@ -1060,9 +1060,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.0.tgz", - "integrity": "sha512-3bMAfInvByLHfJwYPJRlpTeaQA75n8C/QKpEaiS4HrFWFiJlNI0vzq/zCjBrhAYcPyVPG7Eo9dMrcQXuqmNk5g==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.1.tgz", + "integrity": "sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==", "cpu": [ "arm" ], @@ -1076,9 +1076,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.0.tgz", - "integrity": "sha512-aVpnM4lURNkp0D3qPoAzSG92VXStYmoVPOgXveAUoQBWRSuQzt51yvSju29J6AHPmwY1BjH49uR29oyfH1ra8Q==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.1.tgz", + "integrity": "sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==", "cpu": [ "arm64" ], @@ -1092,9 +1092,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.0.tgz", - "integrity": "sha512-uK7wAnlRvjkCPzh8jJ+QejFyrP8ObKuR5cBIsQZ+qbMunwR8sbd8krmMbxTLSrDhiPZaJYKQAU5Y3iMDcZPhyQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.1.tgz", + "integrity": "sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==", "cpu": [ "x64" ], @@ -1108,9 +1108,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.0.tgz", - "integrity": "sha512-AjEcivGAlPs3UAcJedMa9qYg9eSfU6FnGHJjT8s346HSKkrcWlYezGE8VaO2xKfvvlZkgAhyvl06OJOxiMgOYQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.1.tgz", + "integrity": "sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==", "cpu": [ "arm64" ], @@ -1124,9 +1124,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.0.tgz", - "integrity": "sha512-bsgTPoyYDnPv8ER0HqnJggXK6RyFy4PH4rtsId0V7Efa90u2+EifxytE9pZnsDgExgkARy24WUQGv9irVbTvIw==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.1.tgz", + "integrity": "sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==", "cpu": [ "x64" ], @@ -1140,9 +1140,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.0.tgz", - "integrity": "sha512-kQ7jYdlKS335mpGbMW5tEe3IrQFIok9r84EM3PXB8qBFJPSc6dpWfrtsC/y1pyrz82xfUIn5ZrnSHQQsd6jebQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.1.tgz", + "integrity": "sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==", "cpu": [ "arm64" ], @@ -1156,9 +1156,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.0.tgz", - "integrity": "sha512-uG8B0WSepMRsBNVXAQcHf9+Ko/Tr+XqmK7Ptel9HVmnykupXdS4J7ovSQUIi0tQGIndhbqWLaIL/qO/cWhXKyQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.1.tgz", + "integrity": "sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==", "cpu": [ "x64" ], @@ -1172,9 +1172,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.0.tgz", - "integrity": "sha512-2ezuhdiZw8vuHf1HKSf4TIk80naTbP9At7sOqZmdVwvvMyuoDiZB49YZKLsLOfKIr77+I40dWpHVeY5JHpIEIg==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.1.tgz", + "integrity": "sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==", "cpu": [ "arm" ], @@ -1188,9 +1188,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.0.tgz", - "integrity": "sha512-uTtyYAP5veqi2z9b6Gr0NUoNv9F/rOzI8tOD5jKcCvRUn7T60Bb+42NDBCWNhMjkQzI0qqwXkQGo1SY41G52nw==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.1.tgz", + "integrity": "sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==", "cpu": [ "arm64" ], @@ -1204,9 +1204,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.0.tgz", - "integrity": "sha512-c88wwtfs8tTffPaoJ+SQn3y+lKtgTzyjkD8NgsyCtCmtoIC8RDL7PrJU05an/e9VuAke6eJqGkoMhJK1RY6z4w==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.1.tgz", + "integrity": "sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==", "cpu": [ "ia32" ], @@ -1220,9 +1220,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.0.tgz", - "integrity": "sha512-lR2rr/128/6svngnVta6JN4gxSXle/yZEZL3o4XZ6esOqhyR4wsKyfu6qXAL04S4S5CgGfG+GYZnjFd4YiG3Aw==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.1.tgz", + "integrity": "sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==", "cpu": [ "loong64" ], @@ -1236,9 +1236,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.0.tgz", - "integrity": "sha512-9Sycc+1uUsDnJCelDf6ZNqgZQoK1mJvFtqf2MUz4ujTxGhvCWw+4chYfDLPepMEvVL9PDwn6HrXad5yOrNzIsQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.1.tgz", + "integrity": "sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==", "cpu": [ "mips64el" ], @@ -1252,9 +1252,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.0.tgz", - "integrity": "sha512-CoWSaaAXOZd+CjbUTdXIJE/t7Oz+4g90A3VBCHLbfuc5yUQU/nFDLOzQsN0cdxgXd97lYW/psIIBdjzQIwTBGw==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.1.tgz", + "integrity": "sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==", "cpu": [ "ppc64" ], @@ -1268,9 +1268,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.0.tgz", - "integrity": "sha512-mlb1hg/eYRJUpv8h/x+4ShgoNLL8wgZ64SUr26KwglTYnwAWjkhR2GpoKftDbPOCnodA9t4Y/b68H4J9XmmPzA==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.1.tgz", + "integrity": "sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==", "cpu": [ "riscv64" ], @@ -1284,9 +1284,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.0.tgz", - "integrity": "sha512-fgf9ubb53xSnOBqyvWEY6ukBNRl1mVX1srPNu06B6mNsNK20JfH6xV6jECzrQ69/VMiTLvHMicQR/PgTOgqJUQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.1.tgz", + "integrity": "sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==", "cpu": [ "s390x" ], @@ -1300,9 +1300,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.0.tgz", - "integrity": "sha512-H9Eu6MGse++204XZcYsse1yFHmRXEWgadk2N58O/xd50P9EvFMLJTQLg+lB4E1cF2xhLZU5luSWtGTb0l9UeSg==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.1.tgz", + "integrity": "sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==", "cpu": [ "x64" ], @@ -1316,9 +1316,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.0.tgz", - "integrity": "sha512-lCT675rTN1v8Fo+RGrE5KjSnfY0x9Og4RN7t7lVrN3vMSjy34/+3na0q7RIfWDAj0e0rCh0OL+P88lu3Rt21MQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.1.tgz", + "integrity": "sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==", "cpu": [ "x64" ], @@ -1332,9 +1332,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.0.tgz", - "integrity": "sha512-HKoUGXz/TOVXKQ+67NhxyHv+aDSZf44QpWLa3I1lLvAwGq8x1k0T+e2HHSRvxWhfJrFxaaqre1+YyzQ99KixoA==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.1.tgz", + "integrity": "sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==", "cpu": [ "x64" ], @@ -1348,9 +1348,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.0.tgz", - "integrity": "sha512-GDwAqgHQm1mVoPppGsoq4WJwT3vhnz/2N62CzhvApFD1eJyTroob30FPpOZabN+FgCjhG+AgcZyOPIkR8dfD7g==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.1.tgz", + "integrity": "sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==", "cpu": [ "x64" ], @@ -1364,9 +1364,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.0.tgz", - "integrity": "sha512-0vYsP8aC4TvMlOQYozoksiaxjlvUcQrac+muDqj1Fxy6jh9l9CZJzj7zmh8JGfiV49cYLTorFLxg7593pGldwQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.1.tgz", + "integrity": "sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==", "cpu": [ "arm64" ], @@ -1380,9 +1380,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.0.tgz", - "integrity": "sha512-p98u4rIgfh4gdpV00IqknBD5pC84LCub+4a3MO+zjqvU5MVXOc3hqR2UgT2jI2nh3h8s9EQxmOsVI3tyzv1iFg==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.1.tgz", + "integrity": "sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==", "cpu": [ "ia32" ], @@ -1396,9 +1396,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.0.tgz", - "integrity": "sha512-NgJnesu1RtWihtTtXGFMU5YSE6JyyHPMxCwBZK7a6/8d31GuSo9l0Ss7w1Jw5QnKUawG6UEehs883kcXf5fYwg==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.1.tgz", + "integrity": "sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==", "cpu": [ "x64" ], @@ -4310,57 +4310,57 @@ } }, "node_modules/@sentry-internal/feedback": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.101.1.tgz", - "integrity": "sha512-fOKDMVvLX+FuJHJszKBvRg1m7+fd4hchqRnZ9DDfitT6P5Ppl0gbEt/LStqu8Wq5M0tna+hpdwHlVEt7gZVKzw==", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.102.0.tgz", + "integrity": "sha512-GxHdzbOF4tg6TtyQzFqb/8c/p07n68qZC5KYwzs7AuW5ey0IPmdC58pOh3Kk52JA0P69/RZy39+r1p1Swr6C+Q==", "dependencies": { - "@sentry/core": "7.101.1", - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1" + "@sentry/core": "7.102.0", + "@sentry/types": "7.102.0", + "@sentry/utils": "7.102.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.101.1.tgz", - "integrity": "sha512-09l6nD+lxWvwkpXLlIZuzj/z79Llbo6mcH33TJvxrUTjAqSGF/i3Pd5bTLWro9atippOyQgIV/yTGG4Bc5FhyQ==", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.102.0.tgz", + "integrity": "sha512-rgNO4PdFv0AYflBsCNbSIwpQuOOJQTqyu8i8U0PupjveNjkm0CUJhber/ZOcaGmbyjdvwikGwgWY2O0Oj0USCA==", "dependencies": { - "@sentry/core": "7.101.1", - "@sentry/replay": "7.101.1", - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1" + "@sentry/core": "7.102.0", + "@sentry/replay": "7.102.0", + "@sentry/types": "7.102.0", + "@sentry/utils": "7.102.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry-internal/tracing": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.101.1.tgz", - "integrity": "sha512-ihjWG8x4x0ozx6t+EHoXLKbsPrgzYLCpeBLWyS+M6n3hn6cmHM76c8nZw3ldhUQi5UYL3LFC/JZ50b4oSxtlrg==", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.102.0.tgz", + "integrity": "sha512-BlE33HWL1IzkGa0W+pwTiyu01MUIfYf+WnO9UC8qkDW3jxVvg2zhoSjXSxikT+KPCOgoZpQHspaTzwjnI1LCvw==", "dependencies": { - "@sentry/core": "7.101.1", - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1" + "@sentry/core": "7.102.0", + "@sentry/types": "7.102.0", + "@sentry/utils": "7.102.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/browser": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.101.1.tgz", - "integrity": "sha512-+rIFoWPdO29AHVYsAwq8QEl2Ihv17Xh9Bt2aPFvLTGDA0caHjnx98g2jSOvLIOah6HI7Nwp3Njg2zBEzDtHkNw==", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.102.0.tgz", + "integrity": "sha512-hIggcMnojIbWhbmlRfkykHmy6n7pjug0AHfF19HRUQxAx9KJfMH5YdWvohov0Hb9fS+jdvqgE+/4AWbEeXQrHw==", "dependencies": { - "@sentry-internal/feedback": "7.101.1", - "@sentry-internal/replay-canvas": "7.101.1", - "@sentry-internal/tracing": "7.101.1", - "@sentry/core": "7.101.1", - "@sentry/replay": "7.101.1", - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1" + "@sentry-internal/feedback": "7.102.0", + "@sentry-internal/replay-canvas": "7.102.0", + "@sentry-internal/tracing": "7.102.0", + "@sentry/core": "7.102.0", + "@sentry/replay": "7.102.0", + "@sentry/types": "7.102.0", + "@sentry/utils": "7.102.0" }, "engines": { "node": ">=8" @@ -4517,35 +4517,35 @@ } }, "node_modules/@sentry/core": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.101.1.tgz", - "integrity": "sha512-XSmXXeYT1d4O14eDF3OXPJFUgaN2qYEeIGUztqPX9nBs9/ij8y/kZOayFqlIMnfGvjOUM+63sy/2xDBOpFn6ug==", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.102.0.tgz", + "integrity": "sha512-GO9eLOSBK1waW4AD0wDXAreaNqXFQ1MPQZrkKcN+GJYEFhJK1+u+MSV7vO5Fs/rIfaTZIZ2jtEkxSSAOucE8EQ==", "dependencies": { - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1" + "@sentry/types": "7.102.0", + "@sentry/utils": "7.102.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.101.1.tgz", - "integrity": "sha512-iXSxUT6Zbt/KUY0+fRcW5II6Tgp2zdTfhBW+fQuDt/UUZt7Ypvb+6n4U2oom3LJfttmD7mdjQuT4+vsNImDjTQ==", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.102.0.tgz", + "integrity": "sha512-ZS1s2uO/+K4rHkmWjyqm5Jtl6dT7klbZSMvn4tfIpkfWuqrs7pP0jaATyvmF+96z3lpq6fRAJliV5tRqPy7w5Q==", "dependencies": { - "@sentry-internal/tracing": "7.101.1", - "@sentry/core": "7.101.1", - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1" + "@sentry-internal/tracing": "7.102.0", + "@sentry/core": "7.102.0", + "@sentry/types": "7.102.0", + "@sentry/utils": "7.102.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/profiling-node": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.101.1.tgz", - "integrity": "sha512-buM+HZZW7jf3mqJgByVGPwytvmHcbjxRT8CkjO5UDO7stRTsq3iT/hK7qt0bQEDQwhmKeVCvfqryg2nKkPq3RA==", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.102.0.tgz", + "integrity": "sha512-prw0PveisR6zjAkz0zC9xZHELXLpqofa9vbj6xqnwFQkw3pES/pZAgzRnGjs5xzVsIkXZzVA0vWzOJDGOa0kFg==", "hasInstallScript": true, "dependencies": { "detect-libc": "^2.0.2", @@ -4559,14 +4559,14 @@ } }, "node_modules/@sentry/react": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.101.1.tgz", - "integrity": "sha512-CwaBXntX2e3XHZQZVuv/tcfm5H+UHcS6aVChGfUiBHIBi2JpAqdnLdQIFGTkE8BSnKyolKgIsnvIU3BQ//QTig==", - "dependencies": { - "@sentry/browser": "7.101.1", - "@sentry/core": "7.101.1", - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.102.0.tgz", + "integrity": "sha512-Dz2JZwQMU/gpAVRHz6usMGgDF5Y0QcPUAnRoNpewEanZW7nChN8FsIYjOkvEbbsgk8bAlAjWErNlKGfl0B3YoA==", + "dependencies": { + "@sentry/browser": "7.102.0", + "@sentry/core": "7.102.0", + "@sentry/types": "7.102.0", + "@sentry/utils": "7.102.0", "hoist-non-react-statics": "^3.3.2" }, "engines": { @@ -4577,16 +4577,16 @@ } }, "node_modules/@sentry/remix": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/remix/-/remix-7.101.1.tgz", - "integrity": "sha512-iATbNZ0lz7sHSRwlzWMPVCBmDbZJWqTONatQiFGLfFN8TzaTzvOj33XgG6BCte+kkLav3XVjY3vg+tuHF1II+g==", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry/remix/-/remix-7.102.0.tgz", + "integrity": "sha512-AIDaeHBOLfCLcEqBuwsQSV9f9ZNw/FJ0upjKKJpuZSTTsFQCJRsP2INHP4ER4bjVxfY37l6Ber+qCwMTkUNxDA==", "dependencies": { "@sentry/cli": "^2.28.0", - "@sentry/core": "7.101.1", - "@sentry/node": "7.101.1", - "@sentry/react": "7.101.1", - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1", + "@sentry/core": "7.102.0", + "@sentry/node": "7.102.0", + "@sentry/react": "7.102.0", + "@sentry/types": "7.102.0", + "@sentry/utils": "7.102.0", "glob": "^10.3.4", "yargs": "^17.6.0" }, @@ -4603,33 +4603,33 @@ } }, "node_modules/@sentry/replay": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.101.1.tgz", - "integrity": "sha512-l4jmj2Rf/myzk3TA83PdMiomassG8okdBh1b2Hp1+ycBRVZFDmsR81gKPvnefSXwGwGNGKEmp6Q2bdGzekpp3Q==", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.102.0.tgz", + "integrity": "sha512-sUIBN4ZY0J5/dQS3KOe5VLykm856KZkTrhV8kmBEylzQhw1BBc8i2ehTILy5ZYh9Ra8uXPTAmtwpvYf/dRDfAg==", "dependencies": { - "@sentry-internal/tracing": "7.101.1", - "@sentry/core": "7.101.1", - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1" + "@sentry-internal/tracing": "7.102.0", + "@sentry/core": "7.102.0", + "@sentry/types": "7.102.0", + "@sentry/utils": "7.102.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry/types": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.101.1.tgz", - "integrity": "sha512-bwtkQvrCZ6JGc7vqX7TEAKBgkbQFORt84FFS3JQQb8G3efTt9fZd2ReY4buteKQdlALl8h1QWVngTLmI+kyUuw==", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.102.0.tgz", + "integrity": "sha512-FPfFBP0x3LkPARw1/6cWySLq1djIo8ao3Qo2KNBeE9CHdq8bsS1a8zzjJLuWG4Ww+wieLP8/lY3WTgrCz4jowg==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.101.1.tgz", - "integrity": "sha512-Nrg0nrEI3nrOCd9SLJ/WGzxS5KMQE4cryLOvrDcHJRWpsSyGBF1hLLerk84Nsw/0myMsn7zTYU+xoq7idNsX5A==", + "version": "7.102.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.102.0.tgz", + "integrity": "sha512-cp5KCRe0slOVMwG4iP2Z4UajQkjryRTiFskZ5H7Q3X9R5voM8+DAhiDcIW88GL9NxqyUrAJOjmKdeLK2vM+bdA==", "dependencies": { - "@sentry/types": "7.101.1" + "@sentry/types": "7.102.0" }, "engines": { "node": ">=8" @@ -5786,9 +5786,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.2.56", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.56.tgz", - "integrity": "sha512-NpwHDMkS/EFZF2dONFQHgkPRwhvgq/OAvIaGQzxGSBmaeR++kTg6njr15Vatz0/2VcCEwJQFi6Jf4Q0qBu0rLA==", + "version": "18.2.57", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.57.tgz", + "integrity": "sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw==", "dev": true, "dependencies": { "@types/prop-types": "*", @@ -9020,9 +9020,9 @@ } }, "node_modules/dotenv": { - "version": "16.4.4", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.4.tgz", - "integrity": "sha512-XvPXc8XAQThSjAbY6cQ/9PcBXmFoWuw1sQ3b8HqUCR6ziGXjkTi//kB9SWa2UwqlgdAIuRqAa/9hVljzPehbYg==", + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "engines": { "node": ">=12" }, @@ -9340,9 +9340,9 @@ } }, "node_modules/esbuild": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.0.tgz", - "integrity": "sha512-6iwE3Y2RVYCME1jLpBqq7LQWK3MW6vjV2bZy6gt/WrqkY+WE74Spyc0ThAOYpMtITvnjX09CrC6ym7A/m9mebA==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.1.tgz", + "integrity": "sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==", "dev": true, "hasInstallScript": true, "bin": { @@ -9352,29 +9352,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.0", - "@esbuild/android-arm": "0.20.0", - "@esbuild/android-arm64": "0.20.0", - "@esbuild/android-x64": "0.20.0", - "@esbuild/darwin-arm64": "0.20.0", - "@esbuild/darwin-x64": "0.20.0", - "@esbuild/freebsd-arm64": "0.20.0", - "@esbuild/freebsd-x64": "0.20.0", - "@esbuild/linux-arm": "0.20.0", - "@esbuild/linux-arm64": "0.20.0", - "@esbuild/linux-ia32": "0.20.0", - "@esbuild/linux-loong64": "0.20.0", - "@esbuild/linux-mips64el": "0.20.0", - "@esbuild/linux-ppc64": "0.20.0", - "@esbuild/linux-riscv64": "0.20.0", - "@esbuild/linux-s390x": "0.20.0", - "@esbuild/linux-x64": "0.20.0", - "@esbuild/netbsd-x64": "0.20.0", - "@esbuild/openbsd-x64": "0.20.0", - "@esbuild/sunos-x64": "0.20.0", - "@esbuild/win32-arm64": "0.20.0", - "@esbuild/win32-ia32": "0.20.0", - "@esbuild/win32-x64": "0.20.0" + "@esbuild/aix-ppc64": "0.20.1", + "@esbuild/android-arm": "0.20.1", + "@esbuild/android-arm64": "0.20.1", + "@esbuild/android-x64": "0.20.1", + "@esbuild/darwin-arm64": "0.20.1", + "@esbuild/darwin-x64": "0.20.1", + "@esbuild/freebsd-arm64": "0.20.1", + "@esbuild/freebsd-x64": "0.20.1", + "@esbuild/linux-arm": "0.20.1", + "@esbuild/linux-arm64": "0.20.1", + "@esbuild/linux-ia32": "0.20.1", + "@esbuild/linux-loong64": "0.20.1", + "@esbuild/linux-mips64el": "0.20.1", + "@esbuild/linux-ppc64": "0.20.1", + "@esbuild/linux-riscv64": "0.20.1", + "@esbuild/linux-s390x": "0.20.1", + "@esbuild/linux-x64": "0.20.1", + "@esbuild/netbsd-x64": "0.20.1", + "@esbuild/openbsd-x64": "0.20.1", + "@esbuild/sunos-x64": "0.20.1", + "@esbuild/win32-arm64": "0.20.1", + "@esbuild/win32-ia32": "0.20.1", + "@esbuild/win32-x64": "0.20.1" } }, "node_modules/esbuild-plugins-node-modules-polyfill": { diff --git a/package.json b/package.json index dc6a602..090ac39 100644 --- a/package.json +++ b/package.json @@ -38,8 +38,8 @@ "/server-build" ], "dependencies": { - "@conform-to/react": "^1.0.1", - "@conform-to/zod": "^1.0.1", + "@conform-to/react": "^1.0.2", + "@conform-to/zod": "^1.0.2", "@epic-web/cachified": "^5.1.2", "@epic-web/client-hints": "^1.3.0", "@epic-web/invariant": "^1.0.0", @@ -61,8 +61,8 @@ "@remix-run/node": "^2.6.0", "@remix-run/react": "^2.6.0", "@remix-run/server-runtime": "^2.6.0", - "@sentry/profiling-node": "^7.101.1", - "@sentry/remix": "^7.101.1", + "@sentry/profiling-node": "^7.102.0", + "@sentry/remix": "^7.102.0", "address": "^2.0.1", "bcryptjs": "^2.4.3", "better-sqlite3": "^9.4.1", @@ -75,7 +75,7 @@ "cross-env": "^7.0.3", "crypto-js": "^4.2.0", "date-fns": "^3.3.1", - "dotenv": "^16.4.4", + "dotenv": "^16.4.5", "eslint-plugin-remix-react-routes": "^1.0.5", "execa": "^8.0.1", "express": "^4.18.2", @@ -128,7 +128,7 @@ "@types/morgan": "^1.9.9", "@types/node": "^20.11.19", "@types/qrcode": "^1.5.5", - "@types/react": "^18.2.56", + "@types/react": "^18.2.57", "@types/react-dom": "^18.2.19", "@types/set-cookie-parser": "^2.4.7", "@types/source-map-support": "^0.5.10", @@ -137,7 +137,7 @@ "autoprefixer": "^10.4.17", "chokidar": "^3.6.0", "enforce-unique": "^1.2.0", - "esbuild": "^0.20.0", + "esbuild": "^0.20.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "fs-extra": "^11.2.0",